title: Kubernetes を使用せずに Prometheus Server をセットアップする author: Ying Chen type: post date: 2020-04-01T00:00:00+00:00 url: /set-up-prometheus-server-without-kubernetes/ sf_thumbnail_type:
Hue prometheus のメトリクスを味わうには、Hue Server 上の metrics エンドポイント /metrics をスクレイプするように prometheus サーバーを設定すると良いでしょう。(これは Docker や Kubernetes で実行する必要はないかもしれません)。以下は ubuntu 16.4 での設定例です。
前提条件: Hue server は localhost:8000 で実行されていること
サービスユーザーを作成します
$ sudo useradd --no-create-home --shell /bin/false prometheus
Prometheus の設定ファイル用に /etc にディレクトリを作成し、/var/lib にデータ用のディレクトリを作成します
$ sudo mkdir /etc/prometheus
$ sudo mkdir /var/lib/prometheus
新しいディレクトリのユーザーとグループを prometheus ユーザーに設定します
$ sudo chown prometheus:prometheus /etc/prometheus
$ sudo chown prometheus:prometheus /var/lib/prometheus
Prometheus のバイナリを https://prometheus.io/download/ からダウンロードします
$ cd ~/Downloads
$ curl -LO https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz
チェックサムを検証します
$ Sha256sum prometheus-2.16.0.linux-amd64.tar.gz
ダウンロードしたアーカイブを解凍します
$ tar xvf prometheus-2.16.0.linux-amd64.tar.gz
2つのバイナリを /usr/local/bin ディレクトリにコピーします
$ sudo cp prometheus-2.16.0.linux-amd64/prometheus /usr/local/bin/
$ sudo cp prometheus-2.16.0.linux-amd64/promtool /usr/local/bin/
consoles と console_libraries ディレクトリを /etc/prometheus にコピーします
$ sudo cp -r prometheus-2.16.0.linux-amd64/consoles /etc/prometheus
$ sudo cp -r prometheus-2.16.0.linux-amd64/console_libraries /etc/prometheus
ディレクトリのユーザーとグループを prometheus ユーザーに設定します。-R フラグを使用して、ディレクトリ内のファイルにも所有者が設定されるようにしてください
$ sudo chown -R prometheus:prometheus /etc/prometheus/consoles
$ sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
ダウンロードしたフォルダから残りのファイルを削除します
$ rm -rf prometheus-2.16.0.linux-amd64.tar.gz prometheus-2.16.0.linux-amd64
prometheus.yml という名前の設定ファイルを作成します
$ vi /etc/prometheus/prometheus.yml
prometheus.yml の port 8000 は Hue server のポートです。必要に応じて変更してください。
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
- job_name: 'hue'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8000']
設定ファイルのユーザーとグループを prometheus ユーザーに設定します
$ sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
新しい systemd サービスファイルを作成します
$ vi /etc/systemd/system/prometheus.service
サービスファイルの内容
[Unit]
Description=Prometheus
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
新しく作成したサービを使用して、systemd をリロードして開始します。
$ sudo systemctl daemon-reload
$ sudo systemctl start prometheus
ブラウザで localhost:9009 を開くと、次のスクリーンショットのような Prometheus サーバーのページがご覧になれます。
フィードバックや質問はありますか?何かあれば Forum や @gethue までお気軽にコメントください。quick start で SQL のクエリを楽しんでください!
Ying Chen from the Hue Team