Prometheus
- Prometeus 用のユーザとグループを作成
sudo groupadd prometheus
sudo useradd -d /var/lib/prometheus -g prometheus -s /bin/false -m prometheus
- Prometheus をダウンロード
wget https://github.com/prometheus/prometheus/releases/download/v2.36.2/prometheus-2.36.2.linux-amd64.tar.gz
- 解凍
tar xvfz prometheus-*.tar.gz
cd prometheus-*
- Prometheus 用の設定ディレクトリとデータディレクトリを作成
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus/data
sudo chown -R prometheus:prometheus /var/lib/prometheus/data
- 設定ファイルと console template を設定ディレクトリへ設置
sudo cp -r ./prometheus.yml ./consoles ./console_libraries /etc/prometheus/
sudo chown -R root:prometheus /etc/prometheus
- systemd の service unit file を設置
cat << 'EOS' | sudo tee /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target
[Service]
User=prometheus
ExecStart=/sbin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/data --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries
ExecStop=/bin/kill -TERM ${MAINPID}
ExecReload=/bin/kill -HUP ${MAINPID}
[Install]
WantedBy=multi-user.target
EOS
- Prometheus の起動, 確認を行う
sudo systemctl daemon-reload
sudo systemctl enable prometheus.service
sudo systemctl start prometheus.service
sudo systemctl status prometheus.service
- http://localhost:9090
Node_Exporter 構築手順
- Prometheus 用のユーザとグループを作成
sudo groupadd prometheus
sudo useradd -d /var/lib/prometheus -g prometheus -s /bin/false -m prometheus
- 必要なファイルを DL & 展開
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xf ./node_exporter-*
cd node_exporter*
- 2021/8/2 時点での最新 [v1.3.1] を選択
- 最新 Ver の確認: https://github.com/prometheus/node_exporter/releases/
- Node_Exporter のパスを通す
sudo cp ./node_exporter-1.2.0.linux-amd64/node_exporter /sbin/
sudo chown root:root /sbin/node_exporter
- systemd の service unit file を設置
cat << 'EOS' | sudo tee /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter for Prometheus
After=network.target
[Service]
Type=simple
User=prometheus
ExecStart=/sbin/node_exporter
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOS
- Node_Exporter の起動, 確認を行う
sudo systemctl daemon-reload
sudo systemctl enable node_exporter.service
sudo systemctl start node_exporter.service
sudo systemctl status node_exporter.service
- http://localhost:9100/metrics
Node_Exporter を収集対象として登録
- prometheus.yml に Node_Exporter の job を追記
cat << 'EOS' | sudo tee -a /etc/prometheus/prometheus.yml
- job_name: 'node'
file_sd_configs:
- files:
- /etc/prometheus/nodes.yml
EOS
- nodes.yml へ Node_Exporter を登録
cat << 'EOS' | sudo tee /etc/prometheus/nodes.yml
- targets:
- localhost:9100
labels:
role: prometheus
EOS
- 設定ファイルの構文チェック
sudo promtool check config /etc/prometheus/prometheus.yml
- Prometheus を reload
sudo killall -HUP prometheus
- http://localhost:9090/targets
Grafana 構築手順
- Grafana の GPG キーを追加
cd
sudo /bin/bash -c "echo deb https://packages.grafana.com/oss/deb stable main > /etc/apt/sources.list.d/grafana.list"
curl https://packages.grafana.com/gpg.key | sudo apt-key add -
- Grafana をインストール & 起動
sudo apt update
sudo apt install grafana
sudo systemctl enable grafana-server.service
sudo systemctl start grafana-server.service
-
http://localhost:3000 へアクセス
-
Email or username: admin, Password: admin でログイン
-
Data Sources の追加
画面左部の Configuration から Data Sources を選択し、Add data source をクリック Prometheus を選択 URL に http://localhost:9090 を入力し、Save & Test をクリック
-
Dashboard のインポート
画面左部の Dashboards から Manage を選択し、Import をクリック Import via grafana.com に 1860 を入力し、Load をクリック Name の行頭に[Import] を追記 prometheus の Prometheus (default) を選択し、Import をクリック
関連ファイル、ディレクトリ一覧
- /etc/prometheus –> Prometheus 設定ファイルディレクトリ
- prometheus.yml –> Prometheus 設定ファイル
- nodes.yml –> Node_Exporter 設定ファイル
- /var/lib/prometheus/data –> Prometheus 時系列データベースのデータディレクトリ