- 关于prometheus、node_export和grafana的基本概念介绍
- 使用docker搭建并配置node_export
- 下载镜像包
- 启动node-exporter
- 检查端口是否正常
- 查看docker容器
- 通过访问地址来验收一下效果
- 使用docker搭建并配置prometheus
- 下载镜像包
- 创建prometheus.yml
- 启动prometheus
- 检查端口是否正常
- 查看docker容器
- 通过访问地址来验收一下效果
- 访问graph
- 访问targets
- 使用docker搭建并配置grafana
- 下载镜像包
- 创建grafana-storage文件夹
- 启动grafana
- 检查端口是否正常
- 查看docker容器
- 通过访问地址来验收一下效果
- 使用grafana
- Add data source
- 导入dashboard
- 效果
关于prometheus、node_export和grafana的基本概念介绍,可以参考我之前发表的文章Centos8搭建服务监控prometheus+node_export+grafana 这里面有基本概念介绍,又不懂的或者不了解的,可以去看一下,下面就默认大家都有了一定的概念基础的情况下开始做监控服务的搭建环境。
使用docker搭建并配置node_exportnode_export是一个监控服务会暴露一个接口,prometheus通过这个接口获取数据,说白了,node_exporter就是用于机器系统数据收集的。
下载镜像包docker pull prom/node-exporter
本机执行命令结果如下图:
执行到这里说明镜像已经拉取成功。我们使用docker images查看一下
说明镜像拉取完成。
使用如下命令来启动node-exporter:
docker run -d -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter
本机执行效果如下:
看到这里就说明已经通过docker启动成功,然后我们使用下面一些命令来检查是否启动正常:
因为我用的是Mac本,所以使用lsof -nP -i:9100 命令来检查端口是否正常。
从上图可以看到9100端口是正常的。
我们使用docker ps命令来查看容器:
说明容器已经有了。
我们输入http://192.168.0.4:9100/metrics来访问一下,看是否正常。
注意:这里的IP地址要换成你自己的IP地址。
看到这个界面就说明我们已经完成了node_export的环境搭建,这些都是收集到的数据,有了这些数据,就可以做接下来的数据展示了。
prometheus就是用来做数据收集和存储的,使用的pull模式。
下载镜像包docker pull prom/prometheus
本机执行命令结果如下图:
执行到这里说明镜像已经拉取成功。我们使用docker images查看一下
说明镜像已经拉取完成。
我们上面已经将node_export搭建并配置完成了,而prometheus是通过node_export接口进行数据收集的,所以我们需要将node_export加入到prometheus监控中,配置信息如下:
global: scrape_interval: 60s evaluation_interval: 60s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] - job_name: node_export static_configs: - targets: ['192.168.0.4:9100']
targets: ['192.168.0.4:9100']这个配置就是将我们上面搭建的node_export加入prometheus监控的。
细心的同学可能会发现node_export这个job配置的targets是IP+端口,而不是localhost+端口,这是为什么呢?能不能也使用localhost+端口来配置呢?答案是不能!为什么?因为使用localhost或者127.0.0.1都是去访问prometheus容器的本身,不信,你们可以试试,看看会不会出现Get “http://localhost:9100/metrics”: dial tcp 127.0.0.1:9100: connect: connection refused这样的错误。
使用如下命令来启动prometheus:
docker run -d -p 9090:9090 -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
注意:/data/prometheus/prometheus.yml这个地址要换成你自己的对应的配置文件地址。
本机执行效果如下:
看到这里就说明已经通过docker启动成功,然后我们使用下面一些命令来检查是否启动正常:
因为我用的是Mac本,所以使用lsof -nP -i:9090 命令来检查端口是否正常。
从上图可以看到9090端口是正常起来了的。
我们使用docker ps命令来查看容器:
说明容器已经起来了。
我们输入http://192.168.0.4:9090/graph来访问一下,看是否正常。
注意:这里的IP地址要换成你自己的IP地址。
我们输入http://192.168.0.4:9090/targets来访问一下,看是否正常。
注意:这里的IP地址要换成你自己的IP地址。
看到UP就说明我们已经完成了prometheus+node_export的环境搭建,这些都是收集到的数据,有了这些数据,就可以做接下来的数据展示了。如果状态没有UP起来,等待一会,就会UP了。
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。说白了,grafana就是prometheus的数据展示工具。
下载镜像包docker pull grafana/grafana
本机执行命令结果如下图:
执行到这里说明镜像已经拉取成功。我们使用docker images查看一下
说明镜像已经拉取完成。
创建grafana-storage文件夹用于存储数据。
mkdir /data/grafana-storage chmod 777 -R /data/grafana-storage启动grafana
使用如下命令来启动grafana:
docker run -d -p 3000:3000 --name=grafana -v /data/grafana-storage/:/var/lib/grafana grafana/grafana
注意:/data/grafana-storage这个目录要换成你自己的。
本机执行效果如下:
看到这里就说明已经通过docker启动成功,然后我们使用下面一些命令来检查是否启动正常:
因为我用的是Mac本,所以使用lsof -nP -i:3000 命令来检查端口是否正常。
从上图可以看到9090端口是正常起来了的。
我们使用docker ps命令来查看容器:
说明容器已经起来了。
我们通过访问http://192.168.0.4:3000/,默认会先跳转到登录页面,默认的用户名和密码都是admin,登录之后,它会要求你重置密码,你可以进行重置,密码设置完成之后,就会跳转到首页。效果如下:
下面我们来简单的介绍一下grafana的使用。
Add data source
我们点击select进入Settings界面:
name名字就写Prometheus,url 输入Prometheus的ip+端口,然后点击下面的Save & Test,如果出现绿色的,说明ok了。
可在官方模板https://grafana.com/grafana/dashboards,查看模板编号,也可以下载后导入。比如我这里选择import,输入模板编号为8919
下面就简单的截取几张效果图给大家看看哈:
好了,至此咱们使用docker搭建服务监控prometheus+node_export+grafana的过程就完成了,是不是心动了?心动不如行动,赶紧动起手来,展示你自己的效果吧。
后续我会把JAVA程序接入prometheus+node_export+grafana这一套监控里面,感兴趣的可以关注我哦。



