服务 | 端口 | 是否有web界面 | 作用 |
prometheus |
9090 | 有 | 作为监控主服务器,拉取并存储时序数据 |
node-exporter |
9100 | 有 | 收集内核公开的硬件和操作系统指标 |
grafana |
3000 | 有 | 数据展示可视化 |
cadvisor |
9595 | 有 | 收集宿主机上运行的所有容器的性能数据 |
一、安装prometheus server
docker pull prom/prometheus
# 拉取prometheus镜像
docker run -d --name prometheus2020 prom/prometheus
# 启动容器
docker cp -a prometheus2020:/etc/prometheus/ $PWD/prometheus
# 复制容器内部的配置文件到宿主机,不用事先创建$PWD/prometheus目录
docker rm -f prometheus2020
# 删除容器
docker run -d --name prometheus2020 -p 9090:9090 -v $PWD/prometheus:/etc/prometheus prom/prometheus
# 启动容器
firewall-cmd --zone=public --add-port=9090/tcp --permanent
firewall-cmd --reload
# 开放防火墙9090端口
访问
http://192.168.1.113:9090
prometheus使用的是UTC时间,比当前的北京时间晚8个小时,可勾选Use local time选项使用本地时间
二、安装node-exporter
docker pull prom/node-exporter
# 拉取镜像
docker run -d --name node-exporter2020 -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter
# 启动容器
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --reload
# 开放防火墙9100端口
访问
http://192.168.1.113:9100/metrics
vim prometheus/prometheus.yml
# 修改宿主机prometheus配置文件,重启后会同步到容器内部
scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['192.168.1.113:9090'] labels: instance: prometheus - job_name: 'centos_1' static_configs: - targets: ['192.168.1.113:9100'] labels: instance: centos_1
docker restart prometheus2020
重启容器
此时再访问
http://192.168.1.113:9090/targets
三、安装grafana
docker pull grafana/grafana
# 拉取镜像
mkdir grafana
# 在宿主机的当前目录下创建grafana目录
chmod 777 -R ./grafana/
# 赋予grafana目录读写权限
# grafana是以grafana用户启动,不是以root用户启动
docker run -d --name=grafana2020 -p 3000:3000 -v $PWD/grafana:/var/lib/grafana grafana/grafana
# 启动容器
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
# 开放防火墙3000端口
访问
http://192.168.1.113:3000
用户名:admin
密码:admin
修改密码为:123456
并二次确认
首页:
添加数据源,选择Prometheus:
配置Prometheus数据源:
测试一下并保存:
配置模板
可在官网搜索一个模板
https://grafana.com/grafana/dashboards?dataSource=prometheus
选择8919这个模板
https://grafana.com/grafana/dashboards/8919
四、安装cadvisor
docker pull google/cadvisor
# 拉取镜像
docker run -d
--name=cadvisor2020
--volume=/:/rootfs:ro
--volume=/var/run:/var/run:rw
--volume=/sys:/sys:ro
--volume=/var/lib/docker/:/var/lib/docker:ro
--volume=/cgroup:/cgroup:ro
--publish=9595:8080
--detach=true
--privileged=true
google/cadvisor
# 启动容器
firewall-cmd --zone=public --add-port=9595/tcp --permanent
firewall-cmd --reload
# 开放防火墙9595端口
访问
http://192.168.1.113:9595/
http://192.168.1.113:9595/metrics