2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Prometheus最速構築

Last updated at Posted at 2021-04-22

概要

Prometheus, Node_Exporter, Grafana を構築し、ローカルPCを監視できるようになるまでのレシピ。
以下、すべてのコマンドは一般ユーザで実行することを想定としている。
実用性重視のため、Prometheus 自体の説明はここではしない

動作環境

Prometheus構築手順

1. Prometheus用のユーザとグループを作成

sudo groupadd prometheus
sudo useradd -d /var/lib/prometheus -g prometheus -s /bin/false -m prometheus

2. 必要なファイルをDL & 展開

cd
wget https://github.com/prometheus/prometheus/releases/download/v2.28.1/prometheus-2.28.1.linux-amd64.tar.gz
tar xf ./prometheus-2.28.1.linux-amd64.tar.gz
ls -1 ./prometheus-2.28.1.linux-amd64

3. Prometheusのパスを通す

cd ./prometheus-2.28.1.linux-amd64/
sudo cp ./prometheus ./promtool /sbin/
sudo chown root:root /sbin/prometheus /sbin/promtool

4. Prometheus用の設定ディレクトリとデータディレクトリを作成

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus/data
sudo chown -R prometheus:prometheus /var/lib/prometheus/data

5. 設定ファイルとconsole templateを設定ディレクトリへ設置

sudo cp -r ./prometheus.yml ./consoles ./console_libraries /etc/prometheus/
sudo chown -R root:prometheus /etc/prometheus

6. 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

7. Prometheusの起動, 確認を行う

sudo systemctl daemon-reload
sudo systemctl enable prometheus.service
sudo systemctl start prometheus.service
sudo systemctl status prometheus.service

8. http://localhost:9090

Node_Exporter構築手順

Node_Exporterのみ構築する場合、0も実施する

0. Prometheus用のユーザとグループを作成

sudo groupadd prometheus
sudo useradd -d /var/lib/prometheus -g prometheus -s /bin/false -m prometheus

1. 必要なファイルをDL & 展開

cd
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-1.3.1.linux-amd64.tar.gz
ls -1 ./node_exporter-1.3.1.linux-amd64

2. Node_Exporterのパスを通す

sudo cp ./node_exporter-1.3.1.linux-amd64/node_exporter /sbin/
sudo chown root:root /sbin/node_exporter

3. 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

4. Node_Exporterの起動, 確認を行う

sudo systemctl daemon-reload
sudo systemctl enable node_exporter.service
sudo systemctl start node_exporter.service
sudo systemctl status node_exporter.service

5. http://localhost:9100/metrics

Node_Exporterを収集対象として登録

1. 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

2. nodes.ymlへNode_Exporterを登録

cat << 'EOS' | sudo tee /etc/prometheus/nodes.yml
- targets:
   - localhost:9100
  labels:
    role: prometheus
EOS

3. 設定ファイルの構文チェック

sudo promtool check config /etc/prometheus/prometheus.yml

4. Prometheusをreload

sudo killall -HUP prometheus

5. http://localhost:9090/targets

Grafana構築手順

1. 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 -

2. Grafanaをインストール & 起動

sudo apt update
sudo apt install grafana
sudo systemctl enable grafana-server.service
sudo systemctl start grafana-server.service

3. http://localhost:3000 へアクセス

4. Email or username: admin, Password: admin でログイン

5. Data Sourcesの追加

  • 画面左部の Configuration から Data Sources を選択し、Add data source をクリック
  • Prometheus を選択
  • URLに http://localhost:9090 を入力し、Save & Test をクリック

6. 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時系列データベースのデータディレクトリ

参考記事

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?