作者:yangjunlin
前言
普罗米修斯是啥呢,简单来讲Prometheus就是一个开源的系统监控和报警系统,它可以监控各种各样的数据库比如mongo,Oracle,pg,并且也能监控k8s中的服务状态,宿主机的资源情况等等。当然传统监控系统还有很多很多,比如 zabbix等,包括我们的经典版本的imanager所用到的监控就是zabbix,但是相较于传统的zabbix软件它更加的适配云原生环境,因为它与k8s属于同一个组织,因此它与云原生的结合度是非常高的,所以我们微服务版本的imanager使用的监控也就是这个普罗米修斯
一、Prometheus特点介绍
普罗米修斯的特点:具体我讲两方面
(1) 第一点,它处理数据是使用的是时间序列数据库,这个比较特殊,和我们以前认识的Oracle,pg,mysql等关系型数据库不一样,简单来说他是按照时间来记录数据的,以时间轴作为坐标来记录相关采集的数据,它性能非常好的。用这个时序数据库的原因是,传统的关系型数据库并不适合大量写数据的这个操作,但是对于监控来说,要实时的采集大量的监控数据,写入库中,所以如果用关系型数据库就并不适用了。
(2) 第二点,它非常适合与云原生的组合,在k8s环境中去监控各种pod。众所周知k8s的pod是有生命周期的,并且比较短 支持imanager的同事都知道,我们经常会遇到不正常状态的pod就给客户说删除重建pod对吧,每销毁一次那么它的生命周期也就结束了,如果按照传统的监控软件来监控这个pod传统版本的话,还需要安装客户端,配置等就显得不合理,但是普罗米修斯能针对这个动态pod的场景能理由k8s的服务发现的能力对其进行监控,因此可以说他可以支持服务发现。而静态配置就可以理解给传统服务比如经典版iserver安装zabbix的客户端,普罗米修斯也是可以的,通过node-exporter来实现,后面会再次提到
二、Prometheus架构介绍
下面我再介