环境准备:
192.168.197.136 安装prometheus
192.168.197.137 安装grafana
先把需要用到的镜像拉取下来
docker pull prom/prometheus 136服务器拉取 当前最新版本2.43.0
在部署prometheus之前先运行一个容器,把需要挂载的目录文件拷贝出来
docker run -d --name prometheus --net=host docker.io/prom/prometheus:latest
docker cp prometheus:/prometheus /data/
docker cp prometheus:/etc/prometheus/prometheus.yml /data/prometheus/
为了方便管理编辑一个脚本进行启动prometheus
vim prometheus.sh
#!/bin/bash
img_name=prom/prometheus:latest
name=prometheus
docker rm -f $name
docker run -d --name $name \
--net=host \
--restart=always \
--user=$(id -u):$(id -g) \
-v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /data/prometheus/:/prometheus \
$img_name \
--storage.tsdb.retention.time=5d
#--storage.tsdb.retention.time=5d 设置数据保留时长参数
# --user=$(id -u):$(id -g)指定容器内进程的用户ID和组ID与主机上当前用户的相同,避免容器中创建文件和目录没有权限

bash prometheus.sh 运行容器
来到web访问 192.168.197.136:9090

Prometheus就部署好了。
部署grafana
docker pull grafana/grafana:8.3.0 拉取镜像部署8.3.0版本 8.x版本比较稳定
在部署grafana之前先运行一个容器,把需要挂载的目录文件拷贝出来
docker run -d --name=grafana -p 3000:3000 grafana/grafana:8.3.0
docker cp grafana:/var/lib/grafana /data/
为了方便管理编辑一个脚本进行启动grafana
vim grafana.sh
#!/bin/bash
img_name=grafana/grafana:8.3.0
name=grafana
docker rm -f $name
docker run -d --name $name \
--net=host \
--restart=always \
--user=$(id -u):$(id -g) \
-v /data/grafana:/var/lib/grafana \
$img_name

bash grafana.sh 启动容器
访问192.168.197.137:3000默认用户名 admin 默认密码 admin
首次登录会提示修改密码
登录后添加prometheus服务器到grafana




到这grafana就配置好了。
下载安装node_exporter 监控其他主机
192.168.197.137操作
wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz
tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local
mv node_exporter-1.2.2.linux-amd64/ node_exporter
配置systemctl管理
vim /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=Prometheusnode_exporter
[Service]
User=nobody
ExecStart=/usr/local/node_exporter/node_exporter --log.level=error
ExecStop=/usr/bin/killallnode_exporter
[Install]
WantedBy=default.target
systemctl start node_exporter 配置完直接启动就行
systemctl enable node_exporter 设置一下开机自启
systemctl status node_exporter 查看一下运行状态

Node运行成功后回到192.168.197.136 prometheus节点配置监控主机
vim prometheus.yml
- job_name: "prometheus"
static_configs:
- targets: ["192.168.197.136:9090"]
- job_name: "监控采集服务"
static_configs:
- targets: ["192.168.197.137:9100"]

修改完重启一下prometheus容器
bash prometheus.sh 在次访问prometheus可以看到新添加的监控了

主机配置完成后我们要下载监控模板Dashboards | Grafana Labs

选中一款模板通过JSON文件使用模板

然后来到grafana控制台




到这prometheus+grafana+主机监控就部署完成了。
![[230501] 4月29日考试真题第一篇|Temporary Pools](https://img-blog.csdnimg.cn/234b6e9021704fb0af70941d47d885ad.png)

















![[大家的项目] 获取主机IP地址](https://img-blog.csdnimg.cn/img_convert/1dc783e0aba42b17b4dd105ea846d967.png)
