概要
Prometheus は次世代の監視システムとして話題のツールになっています
基本構成は監視対象のサーバに exporter と呼ばれるエージェントをインストールすることで監視できるようになります
exporter には様々な種類があり監視したいプロセスやミドルウェアによってインストールする exporter を変更します
今回は基本的なサーバ監視として node exporter をインストールしてサーバ監視をしてみました
環境
- サーバ
- Ubuntu 16.04 LTS
- Prometheus 2.4.2
- 監視対象
- Ubuntu 16.04 LTS
Prometheus サーバ構築
設定ファイル作成
- vim prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
scrape_configs:
- job_name: 'worker'
static_configs:
- targets: ['192.168.100.10:9100']
- job_name: 'worker2'
static_configs:
- targets: ['192.168.100.11:9100']
ポイントは scrape_configs
でここで監視対象のサーバを指定します
9100 ポートは監視対象のサーバで node exporter をインストールした際に LISTEN するデフォルトのポートです
Prometheus はここで定義された監視対象に対して scrape_interval
で指定された間隔ごとにメトリックの取得を行います
サーバ起動
docker run -d -p 9090:9090 -v $(pwd):/prometheus-data prom/prometheus --config.file=/prometheus-data/prometheus.yml
作成した設定ファイルをコンテナにマウントして起動します
localhost:9090
にアクセスすると、とりあえず Prometheus の UI にアクセスできます
node exporter のインストール
監視対象のサーバで以下のコマンドを実行するだけです
docker run -d --net="host" --pid="host" quay.io/prometheus/node-exporter
動作確認
Prometheus の UI からStatus -> Targets を確認しましょう
監視対象の一覧が表示されます
スタータスが up になっていれば監視が始まります
うまくステータスが OK にならない場合は ufw などの設定を確認してください
Prometheus サーバから各サーバの 9100 ポートにアクセスできる必要があります
あとはトップ画面から表示したいメトリックを選択して「Execute」すれば OK です
node exporter で取得できるメトリック名はサフィックスに node_
が付与されています
以下は「node_memory_MemFree_bytes
」の表示結果です
タグを Graph に切り替えれば時系列のグラフを確認することができます
最後に
Prometheus に入門してみました
よく Docker などのコンテナ監視をする際に Prometheus が出てくることがあります
Docker には Prometheus のメトリック情報をデフォルトで取得できる方法があるため連携しやすいという感じです
その方法も次回紹介したいと思います
0 件のコメント:
コメントを投稿