5. 死活監視
ここでは死活監視の方法について解説します。
サーバーアプリケーションはヘルスチェック用のエンドポイントを提供しています。各サービスの設定ファイルの health.bind-address
に指定したアドレスでヘルチェック用のサーバーが起動します。
ヘルチェックエンドエンドポイントの仕様は API 仕様 を参照してください。
ヘルスチェックエンドポイントを実装しているアプリケーションは次の通りです。
特に設定していません。
deployment.zip を使用している場合は、 docker-compose.api.yml
内のサービスのヘルスチェックを有効にします。
各サービスの 9080
ポートにてヘルスチェックが可能となるので必要に応じて適宜設定します。
ヘルスチェックエンドポイントをサポートしているサービスの一覧とそのベースURLです。
サービス名 |
デフォルトのベースURL |
---|---|
intdash-api-tenant |
|
intdash-api-auth |
|
intdash-api-broker |
|
intdash-api-measurement |
|
intdash-api-media |
|
intdash-api-webhook |
|
vm2m-data-viz-backend |
|
intdash-web-tenants |
|
ヘルスチェックエンドポイントをサポートしているサービスの一覧とそのベースURLです。
サービス名 |
デフォルトのクラスタ内ベースURL |
---|---|
intdash-api-tenant |
|
intdash-api-auth |
|
intdash-api-broker |
|
intdash-api-measurement |
|
intdash-api-media |
|
intdash-api-webhook |
|
vm2m-data-viz-backend |
|
intdash-web-tenants |
|
5.1. プロセスの監視
次のエンドポイントを使用します。
# curlによるアクセス例
curl <ヘルスチェックのベースURL>/status
このエンドポイントを使用して任意の監視方法で監視を実施してください。 エンドポイントから応答がない場合はサービスを再起動してください。
注釈
Helmチャートによりインストールした場合は、「Liveness Probe」 にヘルスチェック用のエンドポイントが設定されています。 そのままの設定で通常は問題ありません。
5.2. アプリケーション監視
監視ソフトウェアに Prometheus を使用している場合は、サーバーアプリケーションのメトリクス情報を取得できます。 次のエンドポイントを使用します。
# curlによるアクセス例
curl <ヘルスチェックのベースURL>/prometheus/metrics
取得可能なメトリクスは次の通りです。
メトリクス名 |
説明 |
---|---|
http_requests_total |
HTTPリクエストの総数 |
http_request_duration_seconds |
HTTPリクエストの応答時間のヒストグラム |
http_requests_in_flight |
処理中のHTTPリクエスト数 |
http_request_size_bytes |
HTTPリクエストサイズのヒストグラム |
http_response_size_bytes |
HTTPレスポンスサイズのヒストグラム |
go_<golang関連のメトリクス> |
Goのランタイム関連のメトリクス |
Broker Serviceは前述のメトリクスに加え次のメトリクスを取得できます。
メトリクス名 |
説明 |
---|---|
iscp2_message_receive_count_total |
iSCPの受信メッセージ総数 |
iscp2_message_receive_bytes_total |
iSCPの受信メッセージバイト数 |
iscp2_message_transmit_count_total |
iSCPの送信メッセージ総数 |
iscp2_message_transmit_bytes_total |
iSCPの送信メッセージバイト数 |
iscp2_upstreams |
iSCPの現在のアップストリーム数 |
iscp2_downstreams |
iSCPの現在のダウンストリーム数 |
iscp2_connections |
iSCPの現在のコネクション数 |