监控主机
HostName |
IP |
master |
10.0.0.6 |
node1 |
10.0.0.9 |
服务 |
端口 |
Grafana |
3000 |
Prometheus |
9090 |
node-exporter |
9100 |
Cadvisor |
8080 |
部署Prometheus(master机器)
1 2 3 4 5 6
| docker run -d \ --name=prometheus \ --restart=always \ -p 9090:9090 \ -v /root/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
|
编辑prometheus.yml配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13
| scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['10.0.0.6:9090']
- job_name: 'master' static_configs: - targets: ['10.0.0.6:9100'] - job_name: 'node' static_configs: - targets: ['10.0.0.9:9100']
|
这里只是提前编辑好,之后如果要添加新的机器,再后面添加
访问master的9090端口,http://10.0.0.6:9090/
部署node_exporter(master和node)
看需求,master不部署也可以
1 2 3 4 5 6 7 8
| docker run -d \ --name node-exporter \ --restart=always \ -p 9100:9100 \ -v "/proc:/host/proc:ro" \ -v "/sys:/host/sys:ro" \ -v "/:/rootfs:ro" \ prom/node-exporter
|
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 26 27 28 29 30 31 32 33 34 35 36 37
| wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
sudo mv node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/bin/
useradd -rs /bin/false node_exporter
vim /etc/systemd/system/node_exporter.service
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target
[Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter
[Install] WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter
|
验证访问http://<你的服务器IP>:9100/metrics
点击Mertrics,下图为node通过9100端口暴露出的监控指标
再次访问master的9090端口,就会显示上面的 UP
状态
再修改prometheus.yml
1 2 3 4
| scrape_configs: - job_name: 'node_exporter' static_configs: - targets: ['<你的服务器IP>:9100']
|
部署Grafana
1 2 3 4 5 6 7 8 9 10 11 12 13
| mkdir /root/grafana
chmod 777 -R /root/grafana
docker run -d \ -p 3000:3000 \ --name=grafana \ -e "GF_SECURITY_ADMIN_PASSWORD=admin" \ -v /root/grafana:/var/lib/grafana \ grafana/grafana
|
访问master的3000端口 默认账号密码都为admin
创建数据源
联接Prometheus
点击Save & Test
创建面板
- 点击Import
- 输入模板代码9276
- 点击Load
- 再下拉框选中
Prometheus
- 点击Import
查看,选中要查看的主机
监控节点主机的容器
cAdvisor
(Container Advisor)用于采集正在运行的容器资源使用和性能信息。
cAdvisor
可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况内存使用情况 网络吞吐量
及文件系统使用情况
部署Cadvisor
1 2 3 4 5 6 7 8 9 10
| docker run -d \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest
|
访问节点IP+端口
修改prometheus.yml,在末尾添加,修改玩之后要重启Prometheus
1 2 3
| - job_name: 'docker' static_configs: - targets: ['10.0.09:8080']
|
访问节点IP+9090
然后在master主机登录Grafana,导入Docker监模板,id:193
在docker中搭建micrometer + grafana + prometheus的jvm监控 - 掘金
监控Mysql
1 2 3 4 5 6
| docker run -d \ --name mysql_exporter \ --restart always \ -p 9104:9104 \ -e DATA_SOURCE_NAME="root:123456@(10.0.0.8:3306)/" \ prom/mysqld-exporter
|
模板ID:7362