Ubuntu に Prometheus を入れる

Ubuntu だと apt で大体の exporter を管理できるっぽい

prometheus

apt -y install prometheus
systemctl enable prometheus

prometheus の導入はこれだけ

vi /etc/prometheus/prometheus.yml

このファイルの設定方法は調べればいくらでも出てくるので割愛

exporter

著名exporter ならaptで提供されているのでDockerなどを入れなくても別に良い、ただしポート管理が面倒くさくなる

apt search prometheus-.*-exporter

提供されているexporterはだいたいここにある

node_exporter

apt -y install prometheus-node-exporter
systemctl enable prometheus-node-exporter

prometheus-node-exporter はこれだけ、簡単

Exporter for machine metrics. Contribute to prometheus/node_exporter development…
github.com

nginx-prometheus-exporter

apt -y install prometheus-nginx-exporter
systemctl enable prometheus-nginx-exporter
vi /etc/nginx/conf.d/prometheus-nginx-exporter.conf

server {
    listen  8080;
    location /stub_status {
        stub_status;
    }
}

Nginxはエンタープライズ版じゃないとあんまりログが取れないので面白くない

NGINX Prometheus Exporter for NGINX and NGINX Plus - nginxinc/nginx-prometheus-e…
github.com

mysqld_exporter

apt -y install prometheus-mysqld-exporter
systemctl enable prometheus-mysqld-exporter
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';

ログ管理用のSQLユーザーを作成することが推奨されている

vi /etc/default/prometheus-mysqld-exporter

# 8行目
ARGS="--config.my-cnf /etc/prometheus-mysqld-exporter.conf"
vi /etc/prometheus-mysqld-exporter.conf

[client]
user = exporter
password = XXXXXXXX
Exporter for MySQL server metrics. Contribute to prometheus/mysqld_exporter deve…
github.com

nextcloud-exporter

apt -y install prometheus-nextcloud-exporter
systemctl enable prometheus-nextcloud-exporter
vi /etc/prometheus-nextcloud-exporter.yml

nextcloudのexporter、なかなか良さそう
設定も簡単

Prometheus exporter for Nextcloud servers. Contribute to xperimental/nextcloud-e…
github.com

prometheus.yml

cat /etc/prometheus/prometheus.yml
...

scrape_configs:
  - job_name: "prometheus"
    scrape_interval: 5s
    scrape_timeout: 5s

    static_configs:
      - targets: ["localhost:9090"]

  - job_name: node
    static_configs:
      - targets: ["localhost:9100"]

  - job_name: nginx
    static_configs:
      - targets: ["localhost:9113"]

  - job_name: "nextcloud"
    static_configs:
      - targets: ["localhost:9205"]

  - job_name: mysql
    static_configs:
      - targets: ["localhost:9104"]

カテゴリー

記事の信頼度