Назад | Перейти на главную страницу

Метрики использования диска отсутствуют в экспортере узлов Prometheus

Некоторое время назад я использовал Prometheus и node exporter и имел доступ к метрикам node_filesystem_ * для мониторинга использования диска, но недавно я запустил его на некоторых других серверах (Ubuntu Linux), и эти метрики, похоже, отсутствуют.

Согласно этому https://github.com/prometheus/node_exporter эти показатели должны быть включены по умолчанию и доступны с хостов Linux. Что могло заставить их не появляться?

Чтобы уточнить, я могу получить показатели для ЦП, памяти и т. Д., Так что это не значит, что экспортер узлов просто не работает.

Обратите внимание на /etc/default/prometheus-node-exporter: для е. g., недавно я понял, что пакет Ubuntu (18.04) по умолчанию вырезает статистику всех дисков:

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

Довольно странно, но, по крайней мере, можно отрегулировать.

Кажется, что 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