使用docker部署prometheus最新版本2.43.0
环境准备:
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+主机监控就部署完成了。