随着公司规模的扩大,原本的人工运维,已经扛不住了,几百台服务器、几十个集群、几十个数据库,已经不是人工能看的过来了,上线Prometheus+Grafana+AlertManager方案,能做到定点解决问题,不需要再挨个去看,约了很多时间。
从产品体验的角度来看,原服务,是客户发现问题我们去解决问题,这样的用户体验是很差的,但是通过Prometheus+Blackbox-exporter+AlertManager方案,我们可以对代表性接口进行检测,根据接口返回的请求时间等参数评估,现在服务器的整体状态。
总体来说Prometheus可以解决运维层面很多东西,也是DevOps必须的一项,建议大家进行深入了解,学会怎样变懒。
Prometheus介绍
Prometheus是开源系统监控工具包,它会将时间戳和数据结合为时序数据存储起来,大家结合官方文档进行享用。Prometheus官方文档
结合docker运行
docker run -d -p 9090:9090 --name prometheus prom/prometheus
功能介绍
- 运行完成后,浏览器访问127.0.0.1:9090访问Prometheus的后台
- Alerts:警告规则
Graph:图形界面,输入语法,点击执行,通过图形或输出进行查看
- Status->Runtime&Build Info:包含了缓存和编译的详细信息
- Status->Configuration:等同Prometheus下的/etc/prometheus/prometheus.yml里的内容。
- Status->Rules:告警规则,结合AlertManager使用
- Status->Targets:目标,展示你在配置文件中要监控的所有目标
- Status->服务发现
注意
1.Prometheus是时序数据,所以对时间要求很严格,如果Prometheus服务没问题,但是图形死活不出数据,那就要考虑所在的服务器时间是否正确了,Centos配置时间方法
yum install -y ntp
ntpdate ntp.api.bz
date