小团队从0搭建devOPS平台-Prometheus监控报警系统

在当前微服务架构流行情况下,对于初创企业,可能就几个技术(2-20个不等),但是却要开发十多个应用,要维护几十台云机器,甚至可能是混合云的模式。由于业务变化迅速,应用需要采用敏捷开发,针对这十来个应用怎么快速高效无误的部署,出现系统异常能快速给出报警信息,快速定位问题并修复bug后重新部署上线,并且是在不影响线上服务的基础上,这对技术团队提出很高的要求。
传统的开发模式和流程里面,这些工作需要开发人员和运维人员一起配合协作才能完成。但是实际上的效果不少特别好,因为开发人员对操作系统优化,监控报警并不熟悉,而运维人员不懂业务逻辑,不懂具体应用开发。所以针对这样的情况,今年devOPS的概念和具体的实践不断被提出来。

行业内各巨头(比如BAT)的自动化运维架构都各种功能各种酷炫,功能复杂,但是开发工作难度和强度也非常大,需要消耗大量的人力和财力。那么小团队就没有实现自己的devOPS了吗?

答案当然是可以实现的。

笔者在一家小团队,有10几个开发人员,管理这几十台服务器和几十个应用,在初期代码的管理、应用的构建、部署发布、监控等都只能都人肉实现,需要不断的到处救火,消耗了大量的开发人员的精力。好在有opensource,我们借助开源的力量慢慢形成了自己的一套devOPS体系,总体效果还不错。

本文就是总结笔者在这方面一些经验和实践,希望对读者有帮助。

对于监控和告警,现在市面上监控系统很多:Zabbix、Open-Falcon、Prometheus,最终选择了 Prometheus,因为Prometheus生态强大,功能强大。

Prometheus 简介

Prometheus 是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于 Kubernetes 的项目。

作为新一代的监控框架,Prometheus 具有以下特点:

  • 强大的多维度数据模型:

  • 插件多,想要监控什么,基本都会有现成的插件。

  • 易于管理: Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。

  • 高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。

  • 使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics。

  • 可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端。

  • 可以通过服务发现或者静态配置去获取监控的 targets。

  • 有多种可视化图形界面。

  • 易于伸缩。

需要指出的是,由于数据采集可能会有丢失,所以 Prometheus 不适用对采集数据要 100% 准确的情形。但如果用于记录时间序列数据,Prometheus 具有很大的查询优势,此外,Prometheus 适用于微服务的体系架构。


Prometheus技术架构图.png

Prometheus基本原理

Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。

用Ansible 来Prometheus安装

Ansible是一个自动配置管理工具,本文先不介绍了,以后有空再来做下介绍,ansible也是小团队搭建devOPS的利器。
使用 Ansible 作为部署工具的一个好处是太多现成的 role 了,安装 Prometheus 时,笔者使用的是现成的:

安装所需各种exporter

比如需要采集操作系统系统,需要安装node_exporter,当然安装exporter也可以用ansible来实现。

安装和配置监控可视化Grafana

Grafana是用于可视化大型测量数据的开源程序,它提供了强大和优雅的方式去创建、共享、浏览数据。
Dashboard中显示了你不同metric数据源中的数据。
Grafana最常用于因特网基础设施和应用分析,但在其他领域也有用到,比如:工业传感器、家庭自动化、过程控制等等。
Grafana支持热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch、Prometheus等。
具体安装比较简单,参照官网安装即可。
安装结束后登录,默认用户名密码admin、admin

添加一个数据源


配置prometheus数据源.png

导入的模板会看到已经有各种图,下图笔者所在公司导入的node_exporter的监控图


屏幕快照 2019-08-14 22.58.15.png

好了,有了监控数据后,我们就可以对数据进行可视化了,是不是很黑科技呢?并且告诉你这些监控图是可以随意定制的哦!
可是,我们不可能 24 小时盯着屏幕看 CPU 负载有没有超吧?这时候就要上告警了。由于篇幅原因,下篇来说说告警(https://www.jianshu.com/p/0dbece52b488)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容