监控服务器 需要安装4个服务:
- Prometheus Server(普罗米修斯监控主服务器 )
- Node Exporter (收集Host硬件和操作系统信息)
- cAdvisor (负责收集Host上运行的容器信息)
- Grafana (展示普罗米修斯监控界面)
被监控的只有安装2个:
- Node Exporter (收集Host硬件和操作系统信息)
- cAdvisor (负责收集Host上运行的容器信息)
Prometheus Server/Node Exporter/Grafana 安装:https://lixinkuan.blog.csdn.net/article/details/113631550
cAdvisor 安装 :https://lixinkuan.blog.csdn.net/article/details/107780219
一、组件安装及配置修改
1、安装Node Exporter 来收集硬件信息:http://10.1.205.154:9100/metrics
2、安装cAdvisor 来收集容器信息:http://10.1.205.154:8091/metrics
3、安装Prometheus Server服务:http://10.21.70.84:9090/targets
4、修改Prometheus Server配置:http://10.21.70.84:9090/targets
修改vi prometheus.yml 文件,添加cAdvisor 信息
[root@slave1 prometheus]# vi prometheus.yml
[root@slave1 prometheus]# cat prometheus.yml
# my global config
global:
scrape_interval: 30s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 30s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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: ['localhost:9090','10.1.205.154:9100','10.1.205.154:8091']
[root@slave1 prometheus]#
# my global config
global:
scrape_interval: 30s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 30s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
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: ['localhost:9090','10.1.205.154:9100','10.1.205.154:8091']
5、重启Prometheus Server服务
[root@slave1 prometheus]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9237d501c6af grafana/grafana "/run.sh" 2 hours ago Up 2 hours 0.0.0.0:3000->3000/tcp dazzling_khorana
abe5e13d00d1 prom/prometheus "/bin/prometheus --c…" 2 hours ago Up 2 hours 0.0.0.0:9090->9090/tcp prometheus
[root@slave1 prometheus]#
[root@slave1 prometheus]# docker stop abe5e13d00d1
abe5e13d00d1
[root@slave1 prometheus]# docker rm abe5e13d00d1
abe5e13d00d1
[root@slave1 prometheus]# ./prometheus-start.sh
c6b6902ddd080a25e1a56cabdff84fa06bc548993fa3d6e75dc3f1c520fcde29
当Prometheus容器启动成功后访问:http://10.21.70.84:9090/targets
二、Grafana图形化展示
在DockerMachine上运行Grafana
Grafana启动后,在浏览器中打开 http://10.21.70.84:3000/ ,登录界面,登录用admin
密码为刚创建Grafana时的admin123
2.1 添加prometheus数据源
下面我们把prometheus服务器收集的数据做为一个数据源添加到 grafana,让grafana可以得到prometheus的数据。
4.2 选取数据源做图形显示
4.3 导入模板
官网下载地址:https://grafana.com/grafana/dashboards
填入 模板id: 11558
4.4 在dashboard可以查看到
FAQ: 监控数据为空或者 N/A
Prometheus监控各个节点对时间要求严格,在部署服务之前务必将所有机器的时间进行同步,包括用来展示和查询的windows机器。
相关请查看该issue https://github.com/prometheus/prometheus/issues/1022