1. 前言
哈喽大家好,今天跟大家分享普罗米修斯。
我们之前搭建过的一些监控比如哪吒面板,可能只看CPU,内存硬盘的性能,普罗米修斯可以划分到更细致,包括你的CPU是哪些程度的占用。
2. 介绍
随着云计算和微服务架构的普及,监控系统变得越来越复杂。应用和基础设施的动态性要求监控系统能够快速适应、自动化并且能够实时处理大量的数据。prometheus(普罗米修斯)正是为满足这些需求而诞生的,它是一款开源的监控和告警系统,尤其适用于云原生环境中的微服务和容器化架构。本文将深入介绍普罗米修斯监控系统的工作原理、特点以及如何在实际生产环境中使用它。
特性:
- 高维度数据模型
- 自定义查询语言
- 可视化数据展示
- 高效的存储策略
- 易于运维
- 提供各种客户端开发库
- 警告和报警
- 数据导出
3. 相关地址
https://github.com/prometheus/prometheus
https://github.com/grafana/grafana
https://github.com/prometheus/node_exporter
4. 搭建环境
- 服务器:我这边搭建在家里的服务器上,有条件的小伙伴可以用腾讯云的 CN2 GIA 的机器,由于prometheus会生成大量的数据,建议选用大容量硬盘的机器
- 系统:Ubuntu 20.04 。 DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建 ~)
- docker 环境(具体看这篇:【Docker 系列】不用宝塔面板,小白一样可以玩转 VPS 服务器!)
- 【非必需但建议】域名一枚,并做好解析到服务器上
- 【非必需】提前安装好宝塔面板,并安装好 Nginx
- 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程)
5. 搭建方式
5.1创建安装目录
创建一下安装的目录:
sudo -i
mkdir -p /home/docker/monitoring/prometheus
mkdir -p /home/docker/monitoring/grafana
chown -R 472:472 /home/docker/monitoring/grafana
下载prometheus配置文件,机器网络环境不行的可以手工下载上传
cd /home/docker/monitoring/prometheus
curl -o prometheus.yml https://raw.githubusercontent.com/kejilion/config/refs/heads/main/prometheus/prometheus.yml
接着我们来编辑下 docker-compose.yml
cd /home/docker/monitoring
vim docker-compose.yml
services:
node-exporter:
image: prom/node-exporter
container_name: node-exporter
networks:
- monitoring_network
restart: unless-stopped
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- /home/docker/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- /home/docker/monitoring/prometheus/data:/prometheus
networks:
- monitoring_network
restart: unless-stopped
user: 0:0
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- 8047:3000
volumes:
- /home/docker/monitoring/grafana:/var/lib/grafana
networks:
- monitoring_network
restart: unless-stopped
networks:
monitoring_network:
name: monitoring
修改完成之后,可以在英文输入法下,按 i 修改,完成之后,按一下 esc,然后 :wq 保存退出。
5.2 打开服务器防火墙(非必需)并访问网页
放行8047端口,这里不赘述了,注意服务器商如果有防火墙,也需要放行。
5.3 启动prometheus
cd /home/docker/monitoring
docker compose up -d
等待拉取好镜像,出现 done 的字样之后,
理论上我们就可以输入 http://ip:8047 访问了。
6. 如何使用
6.1 登录grafana
输入 http://ip:8047 输入用户名密码登录,初始用户名密码都为 admin,自行修改密码
6.2 配置数据源
配置数据源让普罗米修斯数据源接入到grafana
添加普罗米修斯数据源
对接地址直接这样填,因为他们都是在同一个docker网络,所以不对外暴露端口内部端口通信更安全。
http://prometheus:9090
直接保存即可,它会自动对接。
接下来直接加仪表板看数据了!
输入模板编号
推荐1860 12633 16098 这三个编号的模板都还不错,
导入后选在普罗米修斯数据源即可
你也可以到模板市场直接找拷贝编号出来。
https://grafana.com/grafana/dashboards
效果来了!硬件指标超级多,慢慢学习与研究。
7. 添加多台被监控主机
7.1 被控主机安装node-exporter
ssh进入被控主机,运行以下docker命令
docker run -d --name=node-exporter -p 8048:9100 --restart unless-stopped prom/node-exporter
注意放行8048端口,为了安全考虑,可以使用nginx反代成域名,如何反代查看我往期docker教程
7.2 主控端添加配置文件
vim /home/docker/monitoring/prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node-exporter'
static_configs:
- targets: ['node-exporter:9100','被控主机ip:8048','域名']
7.3 重启prometheus
刷新frafana,好了,你可以尽情的玩耍了
暂无评论内容