使用Docker部署 Prometheus+Grafana VPS监控系统

本文介绍如何使用Docker部署Prometheus + Grafana VPS监控系统
为了方便容器编排,将使用docker-compose来部署
目录结构:

1
2
3
4
5
6
7
8
9
10
moniter
├── docker-compose.yml
├── grafana
│   └── data
├── prometheus
│ ├── config
│ │   └── prometheus.yml
│ └── data
└── node_exporter
└── node_exporter

部署node_exporter

node_exporter用于采集VPS数据并提供给Prometheus,要先部署它
由于node_exporter需要直接与宿主机交互,所以虽然可以部署在容器中,但是官方并不推荐这样做,所以直接部署在宿主机上

1
2
3
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
mv node_exporter-1.0.1.linux-amd64.tar.gz node_exporter.tar.gz
tar zxf node_exporter.tar.gz

有很多方法让它后台运行,为了方便我这里使用pm2

1
2
3
4
5
apt install npm
npm install pm2 -g
pm2 start node_exporter/node_exporter
pm2 save
pm2 startup

部署Prometheus和Grafana

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: "3"
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus/config/prometheus.yml:/etc/prometheus/prometheus.yml
- ./prometheus/data:/prometheus
restart: always
container_name: prometheus
grafana:
image: grafana/grafana
ports:
- 3000:3000
volumes:
- ./grafana/data:/var/lib/grafana
restart: always
container_name: grafana

prometheus.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
global:
scrape_interval: 5s

scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- prometheus:9090
- job_name: VPS Moniter
static_configs:
- targets:
- 服务器ip:9100
labels:
instance: example-host # 名称,用于标记

添加新的监控节点只需要在上面部署node_exporter,然后在prometheus.yml添加一个targets就可以了
一切准备就绪,执行docker-compose up -d,之后打开ip:3000就可以看到grafana的界面了,默认账号admin,密码admin,然后按照下面步骤操作就可以了




在URL这一栏填入http://prometheus:9090



最后添加完成后就可以在Dashboard看到面板了,最后放几张效果图

使用Docker部署 Prometheus+Grafana VPS监控系统

https://jktu.cc/使用Docker部署_Prometheus+Grafana_VPS监控系统/

作者

udp_bbr

发布于

2020-08-19

更新于

2021-07-30

许可协议