【监控利器Prometheus】——Prometheus+Grafana监控服务器资源

Prometheus+Grafana监控服务器资源

在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

上篇文章只写了安装Prometheus Server和Grafana,这里来个小小的实战,通过Node Exporter(可以收集内核公​​开的硬件和操作系统指标等)来采集服务器资源信息,并通过Grafana展示。


1. 配置 Node Exporter 采集服务器数据

1、下载镜像

docker pull prom/node-exporter

2、启动容器

docker run -d --name node-exporter -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

3、启动后,访问 http://127.0.0.1:9100/metrics 可以发现已经有很多操作系统的信息了,比如cpu、内存、磁盘等信息:
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源


2. Prometheus配置

修改宿主机prometheus配置文件prometheus.yml

global:
  scrape_interval: 15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"
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: ["10.246.140.63:9090"]
        labels: 
            instance: prometheus

  - job_name: "mac_m1"
    static_configs:
      - targets: ["10.246.140.63:9100"]
        labels:
            instance: mac_m1

主要是在prometheus.yml默认配置中加一个job,job_name我这里写了个 "mac_m1",targets就是Node Exporter服务的地址,可以写多个比如 "10.246.140.63:9100","10.246.140.64:9100"

修改完配置文件,重启Prometheus

docker restart prometheus

然后在Prometheus的targets中(http://127.0.0.1:9090/targets)就可以看到刚才配置的Node Exporter服务了:
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
在Prometheus UI界面随便查询一个 Node Exporter 的采集指标(可以在 http://localhost:9100/metrics 中查看),可以查询到采集到的当前CPU空闲时间为 108707.77
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源

3. 在Grafana中创建监控看板

在Grafana中添加数据源,选择Prometheus
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
配置prometheus地址,其他可以默认:
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
填好后点击【保存 & 测试】测试一下并保存。

通过导入现成模板(https://grafana.com/grafana/dashboards/8919)的方式创建Dashboard,Create -> Import
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源
直接输入模板编号 8919 后点 Load,然后数据源选择 Prometheus,点 Import,最后的效果:
【监控利器Prometheus】——Prometheus+Grafana监控服务器资源

上一篇:k8s中prometheus监控k8s外mysql


下一篇:Prometheus + Grafana 实现服务器监控数据可视化