借鉴:https://www.cnblogs.com/miaocbin/p/12009974.html
一、引言
prometheus介绍:
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。
2016年由Google发起Linux基金会旗下的原生云基金会(Cloud Native Computing Foundation), 将Prometheus纳入其下第二大开源项目。
Prometheus和Heapster(Heapster是K8S的一个子项目,用于获取集群的性能数据。)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。
Prometheus的特点:
1.多维度数据模型。
2.灵活的查询语言。
3.不依赖分布式存储,单个服务器节点是自主的。
4.通过基于HTTP的pull方式采集时序数据。
5.可以通过中间网关进行时序列数据推送。
6.通过服务发现或者静态配置来发现目标服务对象。
7.支持多种多样的图表和界面展示,比如Grafana等。
Prometheus监控基本原理:
Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控。不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、C