概述
Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。
- 在应用层用作应用监控系统
一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。
- 在系统层用作系统监控
- 除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。
- 集成其他的监控
- prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等
部署思路:
1、安装go语言环境
2、在监控服务器上安装prometheus
3、在被监控环境上安装export
4、安装grafana
前面已经介绍了1和2部分,下面介绍一下第3和第4部分。
一、被监控端部署系统层监控exporter
1、下载node_exporter
官网地址:https://prometheus.io/download/
下载地址:https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
2、上传解压
上传到被监控的主机(作为部署服务的主机上也需要安装 export),因此下载并部署后,执行如下命令:
tar -xvf node_exporter-0.18.0.linux-amd64.tar.gz -C /usr/local/
3、启动
nohup /usr/local/node_exporter-0.18.0.linux-amd64/node_exporter &
4、查看监控端
http://172.16.10.123:9090/targets
二、监控服务器部署grafana
下面给监控换一个dashboard,这里用的是grafana,下载地址https://grafana.com/grafana/download
1、下载并安装
wget https://dl.grafana.com/oss/release/grafana-6.3.5-1.x86_64.rpm chmod u+x grafana-6.3.5-1.x86_64.rpm sudo yum localinstall grafana-6.3.5-1.x86_64.rpm
2、添加系统服务
把grafana加入到系统服务,将服务启动
chkconfig --add grafana-serversystemctl daemon-reloadsystemctl start grafana-serversystemctl status grafana-serversystemctl enable grafana-server.service
3、测试
启动后,打开如下URL,端口采用默认的3000,http://172.16.10.123:3000/
输入默认的admin/admin,进去后会要求修改密码为fswl@1234
4、添加数据源
点击add datasource,选中 Prometheus 2.0 Stats后,就可以呈现如下的监控面板了
配置数据源:
这里要导入prometheus 2.0 stats的模板
到这里我们就完成了基本的prometheus监控的框架了,后面就是添砖加瓦的功夫了,感兴趣的朋友可以关注下~