前言
对于长时间运行的服务,没有监控是不行的。小到一个服务,大到一栋楼,一个大坝,甚至一颗卫星,都需要密切地监控才能保证服务出现异常时能够及时告警并修复,出现问题时不能及时得处理将造成不可挽回的损失。
参考书单
传送门微信读书(请用手机打开)。
物理组成
exporter服务器
采集指标并提供指标查询接口的服务器,可以是golang编写的采集器,也能是java写的服务器,或其他语言编写的服务器。
prometheus服务器
一个golang编写的服务器,主要功能是从指标生产者拉取指标数据,不依赖其他数据库,数据存磁盘。
输入:配置文件,拉取:指标数据,产出:数据文件
alertmanager服务器
也是golang写的服务器,主要功能是接收promotheus服务器的告警请求,并调用第三方短信,邮件,钉钉等服务发送消息。
输入:配置文件,接收:告警请求,产出:消息
grafana服务器
golang开发的时序数据展示服务器,从promotheus拉取数据,并以图表的方式展示出来。图表支持高度定制,样式丰富。
部署指南
参考docker-compose的部署yml文件。
启动读写文件无权限
- prometheus/alertmanager: chown 65534:65534 /prometheus_data -R
- grafana: chown 472:472 grafana_data -R
参考文档
官方文档是时效性好并且权威的资料,要多看,实践过程中遇到了难题,也要多翻翻。