Prometheus 集成 Node Exporter

文章首发于公众号《程序员果果》
地址:https://mp.weixin.qq.com/s/40ULB9UWbXVA21MxqnjBxw

简介

Prometheus 官方和一些第三方,已经把一些常用数据库、系统、中间件等的指标数据的采集做成了一个个 exporter,在生产环境中,直接导入使用就可以。 这一节,我们就用 Prometheus 官方提供的 Node Exporter 来完成对Linux系统运行数据的采集 。

实验

Node Exporter 安装及运行

在一台 Linux 机器上安装并运行 Node Exporter,我使用的是一台 ip 为 172.16.2.101 的Linux 虚拟机。

下载地址:https://github.com/prometheus/node_exporter/releases

下载并解压:

wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz

进入 node_exporter-0.18.1.linux-amd64 文件夹 启动node_exporter:

./node_exporter

Prometheus 配置

在 prometheus.yml 中配置 node_exporter 的metrics 端点,内容如下:

global:
  scrape_interval: 5s
  evaluation_interval: 5s
  scrape_timeout: 5s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'linux-exporter'
    metrics_path: /metrics
    static_configs:
    - targets: ['172.16.2.101:9100']

启动 prometheus:

docker run --name prometheus -d -p 9090:9090 -v /root/prometheus-data:/prometheus-data \
       prom/prometheus --web.enable-lifecycle --config.file=/prometheus-data/prometheus.yml

访问 http://172.16.2.101:9090/targets 发现已经出现了 target “node_exporter” ,并且为UP状态。

Prometheus 集成 Node Exporter

Grafana 导入 DashBoard

Grafana 官方和社区对已经做好了常用的 DashBoard,可以访问 https://grafana.com/grafana/dashboards 进行查询:

Prometheus 集成 Node Exporter

选择下载最多的,点击进去:

Prometheus 集成 Node Exporter

DashBoard 的 id 为 8919,后面要用到。

启动 Grafana

docker start grafana

通过Grafana的 + 图标导入(Import) Node Exporter dashboard:

  • grafana id = 8919
  • 注意选中prometheus数据源

Prometheus 集成 Node Exporter

Prometheus 集成 Node Exporter

点击 "Import" 会跳转到 监控界面:

Prometheus 集成 Node Exporter

通过界面可以直观的看到 主机cpu占用率 、负载、磁盘空间、内存等信息。

总结

这一节 ,通过集成 Node Exporter 来演示了 exporter 的使用。之后你可以利用Prometheus 官方提供的其他 exporter 应用到你的学习或工作中,例如 MySQL Server Exporter 、Redis exporter 等等。

参考

https://github.com/prometheus/mysqld_exporter

往期内容

上一篇:Prometheus 入门


下一篇:JDK11 | 第七篇 : ZGC 垃圾收集器