「サーバーの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:9090 | PrometheusのWeb UI |
| http://サーバーIP:9100/metrics | Node Exporterのメトリクス一覧 |
PrometheusのWeb UIで「Status」→「Targets」を開き、node_exporterがUPになっていれば正常に収集できています。
まとめ
- PrometheusはNode Exporterと組み合わせてサーバーメトリクスを収集する
- prometheus.ymlでスクレイプ対象を設定する
- systemdサービスファイルを作成して
systemctl start prometheusで起動する - ポート9090でWeb UIにアクセスして動作確認できる
- 次の記事ではGrafanaで収集したメトリクスを可視化する



コメント