监控服务器 需要安装4个服务:

  1. Prometheus Server(普罗米修斯监控主服务器 )
  2. Node Exporter (收集Host硬件和操作系统信息)
  3. cAdvisor (负责收集Host上运行的容器信息)
  4. Grafana (展示普罗米修斯监控界面)

被监控的只有安装2个:

  1. Node Exporter (收集Host硬件和操作系统信息)
  2. 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 选取数据源做图形显示

参考:Grafana三种方式导入Dashboard

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

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐