一、Prometheus
互联网技术逐步发展之后,监控成为线上系统不可或缺的一环。许多人都用过zabbix,在几年前,只要说到系统监控,肯定无法绕开它。
但是当容器化技术出现之后,它就开始显得有点不太够用了。于是Promethues出现了。
话不多说,来借网友的成果来比较下他们:
我们发现,自从google发明了golang后,许多应用都采用golang来写了,特别是现在耳熟能详的docker、k8s等等,都是golang写出来的。
二、Promethues架构解析
在微服务、容器化技术大行其道的当下,如果再不使用Promethues,你就会落伍了。
要使用Promethues,就得先了解下其原理,晦涩的原理先不说了,直接一张图勾勒:
这张架构图简洁明了,最中间的Promethues Server把它分成了三大块
1、数据接收Retrival
2、存储TSBD
3、对外接口层
1、数据接收Retrival层,采集数据有三种方式:push、pull、服务发现,三种方式如何使用后续介绍;
2、存储TSDB是时序数据库,时序数据库几乎伴随物联网的推广逐步火爆起来的,当然它作为监控使用的数据库,是最合适不过的;
3、对外接口层主要两个用途,一个是报警、一个是查询。现在Promethues的报警已经足够强大了,除了支持邮件,中国人常用的两大办公软件钉钉和企业微信的报警都支持了;查询方便主要是为了分析,原生的web UI不是很好用,Grafana是神器(和ELK当中Kibana扮演的角色类似),当然从架构中我们可以看到,它也是支持API的,可以给别人调用来实现自己的应用!
三、它就是我们现在需要的监控工具
从它的架构当中,我们看到,它以最新的思维实现了监控的大闭环
它可以支持容器化的监控、支持微服务的监控、支持数据库、系统、网络等等全方位的监控,它就是我们现在所需要的监控工具。
后续一步一步逐步讲解!
探讨更多技术问题,欢迎关注公众号:神游坐忘峰大话IT