docker部署prometheus+grafana视图监控
效果
一、grafana可视化平台部署
docker run -d \
--name=grafana \
--restart=always \
-p 3000:3000 \
grafana/grafana
grafana我也是部署在170.110服务器上,192.168.170.110:3000访问grafana
默认账号密码都是admin
二、部署exportor采集信息
针对各类数据库平台系统有各种不同的Exportor支持
过程是exportor采集信息,prometheus读取信息,grafana展示信息。
例如通过node-exporter监控服务器主机
部署node-exporter
docker run -d --name node_exporter --restart=always -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter
同样访问192.168.170.110:9100/metrics,可以看见读取到主机的一些信息
三、修改prometheus配置
修改prometheus.yml添加job
vi /data/prometheus/prometheus.yml
新增一个job,node-exporter的端口是9100,也就是prometheus去读取192.168.170.110:9100/metrics的数据
- job_name: "170-110-主机监控"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["192.168.170.110:9100"]
保存配置后,最好重启一下prometheus
docker restart prometheus
四、grafana可视化展示
登录grafana平台,首页有提示的使用步骤,添加数据源-配置仪表盘-监控展示
有很多种数据源,我们选择prometheus
1.为数据源命个名,设置prometheus的地址和端口,保存即可
2.然后配置仪表盘,全手动配置其实也是相当困难的,grafana官网有现成模板,直接输入视图模板ID就可以一键导入,大部分情况下用现成的模板就可以满足需求了。
点击这里可以跳转grafana模板库,仪表盘模板页面右下角有个ID
输入你的心仪的仪表盘ID加载
稍微等一下,没有数据可以点击右上角时间筛选一下
如果还是没数据,你就需要把鼠标放在没有数据的图标上会显示编辑按钮,复制它的sql查询,自己去prometheusweb首页查查看是不是对
五、一些我自己的数据监控展示
Redis监控
redis_exporter
docker run -d --name redis_exporter \
-p 9121:9121 oliver006/redis_exporter:v1.45.0 \
--redis.addr redis://192.168.170.12:6380 \
--redis.password ""
MySQL监控
mysqld-exporter
docker run -d --name mysqld_exporter \
-p 9104:9104 \
-e DATA_SOURCE_NAME='用户:密码@(192.168.170.12:3306)/' \
prom/mysqld-exporter
docker容器监控
docker run -d \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged \
--device=/dev/kmsg \
google/cadvisor:latest
服务器监控
prom/node-exporter
评论区