一、普罗米修斯架构简介
Heapster是容器集群监控和性能分析工具,天然地支持Kubernetes和CoreOS
Kubernetes有个出名的监控agent--cAdvisor, 在每个Kubernetes Node上都会运行cAdvisor, 它会收集本机以及容器的监控数据(cpu memory,filesystem,
network uptime) 。 在较新的版本中,k8s已经将cAdvisor功能集成到kubelet组件中,每个Node节点可以直接进行web访问。
Weave Scope可以监控kubernetes集群中的一系列资源的状态,资源使用情况、应用拓扑,扩缩容scale, 还可以直接通过浏览器进入容器内部调试等,其提供的功能包括:
1.交互式拓扑界面
2.图形模式和表格模式
3.过滤功能
4.搜索功能
5.实时度量
6.容器拍错
7.插件扩展
Promethus是一套开源的监控系统、报警、时间序列的集合,最初有SoundCloud开发,后来随着越来越多公司的使用,于是便独立成开源项目,自此以后,许多公司和组织都采用了Prometheus作为监控告警工具。
Prometheus Server:抓取和存储时间序列数据,同时提供数据的查询和告警策略的配置管理
Alertmanager:Prometheus Server 会将告警发送给 Alertmanager,Alertmanager 根据路由配置,将告警信息发送给指定的或组,支持邮件、Webhook、微信、钉钉、短信等
Grafana:用于展示数据
Push Gateway:Prometheus 通过 Pull 的方式拉取数据,但是有些监控数据可能是短期的,如果没有采集数据可能会出现丢失,Push Gateway 可以用来接收数据
ServiceMonitor:监控配置,通过选择service的/metrics接口获取数据
Exporter:用来采集非云原生监控数据,主机的监控数据通过 node_exporter 采集,MySQL 的监控数据通过 mysql_exporter 采集
PromQL:查询数据的一种语法
Service Discovery:用来发现监控目标的自动发现,常用的有基于 Kubernetes、 Consul、Eureka、文件的自动发现等
二、Promethus监控接入k8s
kube-promethus 把常用的监控组件 都打包到了一起
在官网选择适合当前版本的安装包https://github.com/prometheus-operator/kube-prometheus