サーバー構築

Prometheusでサーバー監視を始める【メトリクス収集の基本】

サーバー構築
記事内に広告が含まれています。

「サーバーのCPU・メモリ・ディスクを自動で監視したい」そんな要望に応えるのがPrometheusです。この記事ではインストールから起動・動作確認まで解説します。

Prometheusとは?

Prometheusはオープンソースの監視・アラートシステムです。時系列データベースを内蔵しており、サーバーのメトリクスを定期的に収集・保存します。Grafanaと組み合わせると強力な監視ダッシュボードが構築できます。

専用ユーザーの作成

sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir -p /etc/prometheus /var/lib/prometheus

Prometheusのインストール

wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
tar -xzf prometheus-2.51.0.linux-amd64.tar.gz
cd prometheus-2.51.0.linux-amd64
sudo mv prometheus promtool /usr/local/bin/
sudo mv prometheus.yml /etc/prometheus/
sudo mv consoles/ console_libraries/ /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

Node Exporterのインストール

Node ExporterはLinuxのシステムメトリクス(CPU・メモリ・ディスクなど)をPrometheusに提供するエージェントです。

wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
tar -xzf node_exporter-1.7.0.linux-amd64.tar.gz
sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/

設定ファイルの作成

sudo nano /etc/prometheus/prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

systemdサービスの登録

PrometheusとNode Exporterをsystemdサービスとして登録することで、起動・停止・自動起動を管理できます。

Prometheus のサービスファイル

sudo nano /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring
Wants=network-online.target
After=network-online.target

[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus   --config.file=/etc/prometheus/prometheus.yml   --storage.tsdb.path=/var/lib/prometheus   --web.console.templates=/etc/prometheus/consoles   --web.console.libraries=/etc/prometheus/console_libraries

[Install]
WantedBy=multi-user.target

Node Exporter のサービスファイル

sudo nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

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

[Install]
WantedBy=multi-user.target

起動と自動起動設定

sudo systemctl daemon-reload
sudo systemctl start prometheus node_exporter
sudo systemctl enable prometheus node_exporter
sudo systemctl status prometheus node_exporter

Active: active (running)と表示されれば正常に起動しています。

動作確認

ブラウザで以下のURLにアクセスして確認します。

URL内容
http://サーバーIP:9090PrometheusのWeb UI
http://サーバーIP:9100/metricsNode Exporterのメトリクス一覧

PrometheusのWeb UIで「Status」→「Targets」を開き、node_exporterがUPになっていれば正常に収集できています。

まとめ

  • PrometheusはNode Exporterと組み合わせてサーバーメトリクスを収集する
  • prometheus.ymlでスクレイプ対象を設定する
  • systemdサービスファイルを作成してsystemctl start prometheusで起動する
  • ポート9090でWeb UIにアクセスして動作確認できる
  • 次の記事ではGrafanaで収集したメトリクスを可視化する

コメント

タイトルとURLをコピーしました