Prometheus 节点导出器缺少磁盘使用情况指标

Prometheus 节点导出器缺少磁盘使用情况指标

不久前我使用了 Prometheus 和节点导出器,并可以访问 node_filesystem_* 指标来监控磁盘使用情况,但最近我在其他一些服务器(Ubuntu Linux)上启动它时,这些指标似乎缺失了。

根据这个https://github.com/prometheus/node_exporter这些指标应默认启用,并可从 Linux 主机获取。什么原因导致它们未显示?

需要澄清的是,我可以获得 CPU、内存等指标,所以并不是节点导出器不工作。

答案1

请注意/etc/default/prometheus-node-exporter:例如,最近我发现 Ubuntu(18.04)软件包默认切断了所有磁盘统计信息:

ARGS="--collector.diskstats.ignored-devices=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$ \

对我来说很奇怪,但至少可以调整。

答案2

嗯,看来 v0.11(Ubuntu 16.04 存储库中的全部内容)没有该功能。Ubuntu 18.04 存储库包含 v0.15(仍不是最新版本),但您可以在那里获得该功能。没有可用的 PPA。有很多说明可以手动安装较新版本,或者您可以使用我的 Ansible 角色:

- name: Download package
  get_url:
    url: https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
    dest: /home/yourname/nodeexporter.tar.gz

- name: Unpack tar
  unarchive:
    src: /home/yourname/nodeexporter.tar.gz
    dest: /home/yourname
    remote_src: yes

- name: Copy binary
  copy:
    src: /home/yourname/node_exporter-0.18.1.linux-amd64/node_exporter
    dest: /usr/local/bin/node_exporter
    remote_src: yes
    mode: a+x

- name: Create user
  user:
    name: node_exporter
    system: yes
    shell: /bin/false

- name: Template systemd service
  template:
    src: node_exporter.service.j2
    dest: /etc/systemd/system/node_exporter.service

- name: Template systemd service
  systemd:
    daemon_reload: yes
    name: node_exporter
    state: started

使用 systemd 服务模板:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter

[Install]
WantedBy=multi-user.target

相关内容