10分钟搭建Grafana监控看板和普罗米修斯_实现软件服务监控
互联网公司 运维监控等基础设施的 完善程度 一定情况下可以看出其 经营情况 和 技术能力。
本次学习的内容可对应用 网络流量 服务器负载 存储容量 等关键指标进行 实时监测 可以及时发现和预防 潜在问题 并做出相应的处理 避免因故障导致 服务中断或数据丢失 在双11营销节日甚至是日常迭代中 监控系统的作用也是 至关重要的。
第一份互联网工作 坐在我对面的几位男生 他们的岗位是 NOC技术支持 那时候也是初次看到 互联网企业软件服务监控 感觉很新奇,很有趣~
在这里,继续用 10分钟 时间 搭建运维监控系统 实现实时数据可视化监控。
使用效果
Grafana:
Prometheus:
Grafana-Redis:
Grafana-MySQL:
一.Grafana
1 2 3 4 5 6 7 8
| # 拉取镜像 docker pull grafana/grafana
# Grafana服务运行 docker run --network cicd_network -d -p 5000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana # 进入后台 初始密码【admin/admin】 http://192.168.1.1:5000/login
|
二.普罗米修斯
1 2 3 4 5 6 7 8 9
| # 拉取镜像 docker pull prom/prometheus
# 配置文件 mkdir /opt/prometheus vi /opt/prometheus/prometheus.yml #内容见附件 或下载 https://lixiangpro.oss-cn-hangzhou.aliyuncs.com/resource/prometheus.yml
# 普罗米修斯运行 docker run --network cicd_network -d -p 9090:9090 --name=prometheus -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
|
三.Node节点导出
1 2
| # Node_Exporter 运行 docker run --network cicd_network -d -p 9100:9100 --name=node-exporter -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter
|
四.Grafana使用与配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 重启普罗米修斯 docker restart prometheus
# 进入Grafana后台 http://192.168.1.1:5000/login
# 配置数据源 =》首页-连接-数据源-Add data source-prometheus Prometheus server URL = http://192.168.1.1:9090
# 导入看板视图模版【查看更多=> https://grafana.com/grafana/dashboards】 DEMO模版 = https://lixiangpro.oss-cn-hangzhou.aliyuncs.com/resource/grafana_node_exporter.json =》首页-仪表盘-新建-导入
# 设置默认首页看板 =》首页-管理-概况-默认首选项-主页仪表板
|
至此_已完成_部署Grafana和普罗米修斯及其应用
拓展补充-监控MySQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| # 部署MySQL docker pull mysql:8.0.32 docker run -p 3306:3306 --name=mysql --network cicd_network --restart=always --privileged=true -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/logs:/var/log -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.32
# 部署MySQL Exporter vi /opt/mysql/my.cnf [client] host=192.168.1.1 user=root password=123456
docker pull prom/mysqld-exporter docker run -d --name mysql_exporter --restart always -p 9104:9104 -v /opt/mysql/conf:/.my.cnf --network=cicd_network prom/mysqld-exporter
# 修改普罗米修斯配置 vi /opt/prometheus/prometheus.yml - job_name: mysql-monitor static_configs: - targets: [ '192.168.1.1:9104' ] # 重启普罗米修斯 docker restart prometheus
# 进入Grafana后台 http://192.168.1.1:5000/login =》首页-仪表板-导入-模版ID=7362-加载-prometheus
|
拓展补充-监控Redis-方案一
1 2
| # 直连监控 =》首页-连接-添加新链接-Redis-install-Add new data source-Dashboards-Redis Import
|
拓展补充-监控Redis-方案二
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| # 本地部署Redis docker pull redis:latest docker run --name redis -d -p 6379:6379 -e REDIS_PASSWORD=123456 --network cicd_network redis:latest
# 本地部署Redis管理工具 docker pull redis/redisinsight:latest docker run -d --name redisinsight -p 5540:5540 --network cicd_network redis/redisinsight:latest
# 修改普罗米修斯配置 vi /opt/prometheus/prometheus.yml - job_name: redis static_configs: - targets: [ '192.168.1.1:9121' ] labels: instance: redis
# 本地部署Redis管理工具 docker pull oliver006/redis_exporter:v1.45.0 docker run -d --name redis-exporter -p 9121:9121 -e REDIS_ADDR=redis://192.168.1.1:6379 -e REDIS_USER=root -e REDIS_PASSWORD=123456 oliver006/redis_exporter:v1.45.0
# 重启普罗米修斯 docker restart prometheus
# 进入Grafana后台 http://192.168.1.1:5000/login =》首页-仪表板-导入-模版ID=763-加载-prometheus
|
附件:prometheus.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: prometheus static_configs: - targets: ['192.168.1.1:9090'] labels: instance: centos7 - job_name: grafana static_configs: - targets: ['192.168.1.1:9100'] labels: instance: centos7 - job_name: hello_world static_configs: - targets: ['192.168.1.1:8080'] labels: instance: centos7
|