a stray sheep

お仕事周りの雑記帳

Prometheusをサービス化する

概要

今後使っていくにあたって、Prometheusをサービス化する。 まだ、とりあえずの試運転。

雑誌やネットの記事を参考に、以下のようにする。

Promtheus本体

設計

場所 パス
prometheusのインストール場所 /opt/prometheus/current -> /opt/prometheus/prometheus-2.16.0.linux-amd64シンボリックリンク
設定ファイルの場所 /etc/prometheus/prometheus.yml
DBの保存場所 /var/db/prometheus

prometheus.service

$ sudo vi /usr/lib/systemd/system/prometheus.service

[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target

[Service]
ExecStart=/opt/prometheus/current/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/db/prometheus
ExecStop=/bin/kill -TERM ${MAINPID}
ExecReload=/bin/kill -HUP ${MAINPID}

[Install]
WantedBy=multi-user.target


$ sudo systemctl daemon-reload
$ sudo systemctl enable prometheus
$ sudo systemctl start prometheus

Node_Exporter

設計

場所 パス
node_exporterのインストール場所 /opt/prometheus/node_exporter-> /opt/prometheus/node_exporter-0.18.1.linux-amd64シンボリックリンク

node_exporter.service

$ sudo vi /usr/lib/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter

[Service]
ExecStart=/opt/prometheus/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target


$ sudo systemctl daemon-reload
$ sudo systemctl enable node_exporter
$ sudo systemctl start node_exporter

参考

node_exporterのexampleに、systemdのサンプルファイルがありました。 https://github.com/prometheus/node_exporter/tree/master/examples/systemd