#《54_Prometheus的整体架构设计以及原理介绍》
在你要监控的服务器上部署exporters,比如node_exporter就是基于linux内核写的,专门收集机器的cpu、内存、网络、io、磁盘的资源使用情况,然后prometheus server就可以从exporters拉取metrics过来存储和展示,以及进行报警
除此之外,对什么mysql,redis之类的中间件,都有对应的exporter,你自己也可以写exporter,按照他的标准写就行了
还有一种,就是有一个pushgateway,可以让你直接推送metrics给他,比如你系统的一些业务指标监控,就可以走这种方式
然后prometheus server可以把拉取到的metrics存储到本地磁盘去,基于TSDB进行时序数据的存储,也会自动的清理旧数据,保留最新数据,TSDB是时间序列数据库,尤为适合这种监控指标的存储,按时间来存储
定时查询配置好的报警规则,如果发现metric满足规则,就把alert发送到alertmanager去,此时会通过钉钉了、email了、短信之类的方式去对你进行告警
如果要能够可视化的查看metric监控报表,一般是基于Grafana可视化系统来进行的,Grafana天然支持对接prometheus,专门是做指标可视化的,很方便使用,需要独立进行部署,不然他自己也有Prometheus Web UI,可以基于他的PromQL查询语句去查询