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