Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager 導入・設計ガイド


9.5.3 性能監視機能

性能監視機能は,アドオンプログラムのPrometheus,Alertmanager,Exporterで構成され,次に示す2つの機能を提供します。

統合マネージャーホストに送信したパフォーマンスデータやアラートは,統合オペレーション・ビューアーで参照できます。

〈この項の構成〉

(1) 通信機能

(a) 通信プロトコルと認証方法

統合エージェントが使用する通信プロトコルと認証方法を,次に示します。

接続元

接続先

プロトコル

認証方式

Prometheus server

統合エージェント制御基盤

HTTP

認証なし

Alertmanager

Prometheus server

Alertmanager

HTTP

認証なし

Exporter

Blackbox exporter

監視対象

HTTP/HTTPS

Basic認証

Bearer認証

認証なし

HTTPS

サーバ認証

クライアント認証あり

クライアント認証なし

ICMP

認証なし

Yet another cloudwatch exporter

Amazon CloudWatch

HTTPS

AWS IAM認証

注※

ICMPv6は使用できません。

(b) ネットワーク構成

統合エージェントは,IPv4環境だけのネットワーク構成,またはIPv4環境とIPv6環境が混在するネットワーク構成で使用できます。IPv4環境とIPv6環境が混在するネットワーク構成では,IPv4通信だけに対応しています。

統合エージェントは,次に示すプロキシサーバなしの構成で使用できます。

接続元

接続先

接続の種類

Prometheus server

統合エージェント制御基盤

プロキシサーバなし

Alertmanager

Prometheus server

Alertmanager

Exporter

Blackbox exporter

監視対象(ICMP監視)

監視対象(HTTP監視)

プロキシサーバなし

認証なしのプロキシサーバ経由

認証ありのプロキシサーバ経由

Yet another cloudwatch exporter

Amazon CloudWatch

プロキシサーバなし

認証なしのプロキシサーバ経由

認証ありのプロキシサーバ経由

統合エージェントは,次に示すデータを送信します。

接続元

接続先

送信データ

Prometheus server

統合エージェント制御基盤

Protobuf形式のパフォーマンスデータ

Alertmanager

JSON形式のアラート情報※1

Prometheus server

Exporter

Prometheusのテキスト形式のパフォーマンスデータ※2

Blackbox exporter

監視対象

各プロトコルのレスポンス

Yet another cloudwatch exporter

Amazon CloudWatch

CloudWatchのデータ

注※1

詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.6.5 JP1イベント変換」の,リクエストのメッセージボディーに関する説明を参照してください。

注※2

詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.23 JP1/IM - Agentが使用するExporterのスクレイプ用のAPI」の,Prometheusのテキストフォーマットに関する説明を参照してください。

(2) パフォーマンスデータの収集機能

Prometheus serverが,監視対象からパフォーマンスデータを収集する機能です。次の2つの機能があります。

(a) スクレイプ機能

Prometheus serverが,Exporterを経由して,監視対象のパフォーマンスデータを取得する機能です。

Prometheus serverが,Exporterの特定のURLにアクセスすると,Exporterが監視対象のパフォーマンスデータを取得し,Prometheus serverに返却します。この一連の処理を「スクレイプ」と呼びます。

スクレイプは,同じ目的の複数のスクレイプをまとめたスクレイプジョブの単位で実行されます。スクレイプの定義は,スクレイプジョブの単位で行います。JP1/IM - Agentでは,Exporterの種類に応じて,次に示すスクレイプジョブ名のスクレイプ定義が,デフォルトで設定されています。

スクレイプジョブ名

スクレイプ定義

prometheus

Prometheus server用のスクレイプ定義

jpc_node

Node exporter用のスクレイプ定義

jpc_windows

Windows exporter用のスクレイプ定義

jpc_blackbox_http

Blackbox exporeterのHTTP/HTTPS監視用のスクレイプ定義

jpc_blackbox_icmp

Blackbox exporeterのICMP監視用のスクレイプ定義

jpc_cloudewatch

Yet another cloudwatch exporter用のスクレイプ定義

ユーザー独自のExporterをスクレイプの対象とする場合は,対象のExporterごとに,スクレイプ定義を追加する必要があります。

Prometheus serverが,スクレイプを実行してExporterから取得するメトリックは,Exporterの種類に応じて異なります。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」(2. 定義ファイル)の各Exporterのメトリック定義ファイルの説明を参照してください。

また,Prometheus serverは,スクレイプの実行時に,Exporterから取得するメトリック以外に,次に示すメトリックを生成します。

メトリック名

説明

up

スクレイプに成功したときは「1」,失敗したときは「0」を示すメトリックです。Exporterの稼働監視に利用できます。

スクレイプに失敗したときの要因は,ホスト停止,Exporter停止,Exporterが200以外を返却,または通信エラーが考えられます。

scrape_duration_seconds

スクレイプにかかった時間を示すメトリックです。通常の運用では使用しません。

スクレイプが想定した時間内に終わらなかった場合の調査などで使用します。

scrape_samples_post_metric_relabeling

メトリックのリラベル後に残ったサンプル数を示すメトリックです。通常の運用では使用しません。

環境構築時のデータ数の確認で使用します。

scrape_samples_scraped

Exporterがスクレイプで返却したサンプル数を示すメトリックです。通常の運用では使用しません。

環境構築時のデータ数の確認で使用します。

scrape_series_added

新しく生成した系列のおおよその数を示すメトリックです。通常の運用では使用しません。

スクレイプを実行する方法については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.23 JP1/IM - Agentが使用するExporterのスクレイプ用のAPI」の説明を参照してください。スクレイプの対象とするExporterは,ここに記載されている方法で実行できるようにする必要があります。

スクレイプの定義方法を,次に示します。

  • スクレイプ定義は,スクレイプジョブの単位で行います。

  • スクレイプ定義は,Prometheus設定ファイル(jpc_prometheus_server.yml)に記述します。

  • スクレイプ定義を編集する場合は,統合オペレーション・ビューアーからPrometheus設定ファイルをダウンロードし,編集したあとでアップロードします。

JP1/IM - Agentがサポートするスクレイプ定義に関する設定項目を,次に示します。

表9‒21  JP1/IM - Agentがサポートするスクレイプ定義に関する設定項目

設定項目

説明

スクレイプジョブ名

(必須)

Prometheusがスクレイプするスクレイプジョブの名称を設定します。スクレイプジョブ名は複数指定できます。

指定したスクレイプジョブ名は,メトリックのラベルに,job="スクレイプジョブ名"として設定されます。

スクレイプ先

(必須)

スクレイプ先となるExporterの特定のURLを設定します。スクレイプ先として,JP1/IM - Agentが同居するホストのExporterだけを指定できます。

URL内に記述するスクレイプ先のサーバは,ホスト名で指定します。"localhost"は使用できません。

すべてのスクレイプジョブ内に指定したスクレイプ先の合計数は100が上限です。

スクレイプ時のパラメーター

(任意)

スクレイプ時にExporterに渡すパラメーターを設定できます。

Exporterの種類に応じて,設定できる内容が異なります。

スクレイプ間隔

(任意)

スクレイプの間隔を設定できます。

すべてのスクレイプジョブに共通のスクレイプ間隔と,スクレイプジョブごとのスクレイプ間隔を設定できます。両方設定されている場合は,スクレイプジョブごとのスクレイプ間隔が優先されます。

指定できる単位は,年,週,日,時,分,秒,またはミリ秒です。

スクレイプのタイムアウト時間

(任意)

スクレイプに時間がかかった場合のタイムアウト時間を設定できます。

すべてのスクレイプジョブに共通のタイムアウト時間と,スクレイプジョブごとのタイムアウト時間を設定できます。両方設定されている場合は,スクレイプジョブごとのスクレイプ間隔が優先されます。

リラベル設定

(任意)

不要なメトリックを削除やラベルのカスタマイズができます。

この機能を使用し,サポートしない不要なメトリックを破棄するようにデフォルトで設定しておくことで,JP1/IM - Managerに送信するデータ量を削減できます。

Prometheus serverのスクレイプ対象とするExporterによるスクレイプの結果は,PrometheusのText-based formatのデータ形式で返却されます。PrometheusのText-based formatを次に示します。

Text-based formatの基本情報

項目

説明

開始時期

2014年4月

サポートバージョン

バージョン0.4.0以降のPrometheus

伝送形式

HTTP

文字コード

UTF-8

改行コードは\n

Content-Type

text/plain; version=0.0.4

バージョンの値がない場合は,最新のテキストフォーマットのバージョンとして扱われます。

Content-Encoding

gzip

利点

  • ヒューマンリーダブル

  • 組み立てが容易で,特にミニマムなケースに適している(ネストの必要がない)。

  • 一行ごとに読める(ヒントやdocstringを除く)。

制約

  • 冗長

  • 型とdocstringはシンタックスの一部ではないため,メトリックコントラクトの検証はほとんど行われない。

  • 構文解析のコスト

サポートしているメトリクス

  • Counter

  • Gauge

  • Histogram

  • Summary

  • Untyped

Text-based formatの詳細

PrometheusのText-based formatは行指向です。

行間は改行文字で区切ります。改行コードは\nです。\r\nは不正とみなされます。

最終行は必ず改行文字にしてください。

また,空行は無視されます。

行の形式

1行の中で,トークンは任意の数の空白やタブで区切ることができます。ただし,前のトークンと結合する場合は,少なくとも1つの空白で区切られる必要があります。

また,先頭および末尾のホワイトスペースは無視されます。

コメント,ヘルプテキスト,および情報

最初のホワイトスペース以外の文字として#がある行はコメントです。

この行は,#の後の最初のトークンがHELPまたはTYPEでない限り,無視されます。

これらの行は次のように扱われます。

トークンがHELPの場合,少なくとももう1つのトークン(メトリック名)が期待されます。残りのすべてのトークンは,そのメトリック名のdocstringとみなされます。

HELP行には,メトリック名の後ろに任意のUTF-8文字列を含めることができます。ただし,バックスラッシュは¥,改行文字は\nとしてエスケープする必要があります。任意のメトリック名に対して,HELP行は1つだけ存在できます。

トークンがTYPEの場合,2つ以上のトークンが期待されます。1つ目はメトリック名です。2つ目はcounter,gauge,histogram,summary,またはuntypedのいずれかで,メトリックの型を定義します。与えられたメトリック名に対して,TYPE行は1つだけ存在できます。メトリック名のTYPE行は,最初のサンプルの前にメトリック名が表示されなければなりません。

メトリック名に対するTYPE行が存在しない場合,タイプはuntypedに設定されます。

次の構文(EBNF)を使用してサンプルを記述します(1行に1つ)。

 metric_name [
    "{" label_name "=" `"` label_value `"` { "," label_name "=" `"` label_value `"` } [ "," ] "}"
 ] value [ timestamp ]
サンプルの構文
  • metric_nameとlabel_nameには,通常のPrometheus式言語の制限があります。

  • label_valueは,任意のUTF-8文字列ですが,バックスラッシュ(\),ダブルクォート("),ラインフィードは,それぞれ\\\"\nとしてエスケープする必要があります。

  • valueは,GoのParseFloat()関数で必要とされる浮動小数点数です。標準的な数値に加えて,NaN,+Inf,-Infも有効な値です。NaNは数値ではないことを表します。+Infは正の無限大です。-Infは,負の無限大です。

  • タイムスタンプはint64(エポックからのミリ秒,すなわち1970-01-01 00:00:00 UTC,うるう秒を除く)で,GoのParseInt()関数で必要に応じて表されます。

グルーピングとソート

メトリックが付与された行はすべて,1つのグループとして提供される必要があり,オプションのHELPとTYPEの行が最初に来るようにする必要があります(順不同)。

それ以外にも,繰り返しの説明で再現性のあるソートを行うことを推奨しますが,必須ではありません。

各行には,メトリック名とラベルのユニークな組み合わせが必要です。ユニークな組み合わせではない場合,取り込みの動作は未定義です。

ヒストグラムとサマリー

ヒストグラムやサマリータイプは,テキスト形式での表現が難しいため,次のような規則があります。

  • xというサマリーまたはヒストグラムのサンプルサムは,x_sumという別のサンプルとして表示されます。

  • xという名前のサマリーまたはヒストグラムのサンプル・カウントは,x_countという別のサンプルとして表示されます。

  • xという名前の要約の各分位点は,同じxという名前と{quantile="y"}というラベルを持つ別のサンプル行として表示されます。

  • xという名前のヒストグラムの各バケット数は,x_bucketという名前と{le="y"}というラベルを持つ別のサンプル行として表示されます(yはバケットの上限です)。

  • ヒストグラムには,{le="+Inf"}のバケットが必要です。その値は,x_countの値と同じである必要があります。

  • ヒストグラムのバケットとサマリーの分位値は,leまたはquantileラベルの場合,それぞれラベルの値の昇順で表示される必要があります。

Text-based formatの例

コメント,HELPやTYPEの表現,ヒストグラム,サマリー,文字エスケープなどを含むPrometheus metric expositionの例を次に示します。

# HELP http_requests_total The total number of HTTP requests.
# TYPE http_requests_total counter
http_requests_total{method="post",code="200"} 1027 1395066363000
http_requests_total{method="post",code="400"}    3 1395066363000
 
# Escaping in label values:
msdos_file_access_time_seconds{path="C:\\DIR\\FILE.TXT",error="Cannot find file:\n\"FILE.TXT\""} 1.458255915e9
 
# Minimalistic line:
metric_without_timestamp_and_labels 12.47
 
# A weird metric from before the epoch:
something_weird{problem="division by zero"} +Inf -3982045
 
# A histogram, which has a pretty complex representation in the text format:
# HELP http_request_duration_seconds A histogram of the request duration.
# TYPE http_request_duration_seconds histogram
http_request_duration_seconds_bucket{le="0.05"} 24054
http_request_duration_seconds_bucket{le="0.1"} 33444
http_request_duration_seconds_bucket{le="0.2"} 100392
http_request_duration_seconds_bucket{le="0.5"} 129389
http_request_duration_seconds_bucket{le="1"} 133988
http_request_duration_seconds_bucket{le="+Inf"} 144320
http_request_duration_seconds_sum 53423
http_request_duration_seconds_count 144320
 
# Finally a summary, which has a complex representation, too:
# HELP rpc_duration_seconds A summary of the RPC duration in seconds.
# TYPE rpc_duration_seconds summary
rpc_duration_seconds{quantile="0.01"} 3102
rpc_duration_seconds{quantile="0.05"} 3272
rpc_duration_seconds{quantile="0.5"} 4773
rpc_duration_seconds{quantile="0.9"} 9001
rpc_duration_seconds{quantile="0.99"} 76656
rpc_duration_seconds_sum 1.7560473e+07
rpc_duration_seconds_count 2693

(b) 監視対象の稼働情報の取得機能

監視対象から稼働情報(パフォーマンスデータ)を取得する機能です。稼働情報を収集する処理は,「Exporter」と呼ばれるプログラムが行います。

Prometheus serverからExporterに送られるスクレイプの要求に対して,Exporterは,監視対象から稼働情報を収集し,Prometheusに結果を返却します。

JP1/IM - Agentに同梱するExporterは,同居するJP1/IM - AgentのPrometheusからだけスクレイプします。ほかのホストやユーザーが独自に用意したPrometheusからはスクレイプしないでください。

JP1/IM - Agentに同梱する各Exporterの機能について説明します。

(c) Blackbox exporter

Blackbox exporterは,ネットワーク上の監視対象のインターネットサービスに対して,疑似的なリクエストを発信し,その応答から得られる稼働情報を取得するExporterです。対応する通信プロトコルは,HTTP,HTTPS,およびICMPです。

Blackbox exporterは,Prometheus serverからのスクレイプ要求を契機に,監視対象に対して,HTTP等のサービスリクエストを投げ,その応答時間とレスポンスを取得します。また,実行結果をメトリクス形式にまとめて,Prometheus serverに返却します。

■ 主な取得項目

Blackbox exporterの主な取得項目は,Blackbox exporterのメトリック定義ファイル(初期状態)で定義しています。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporterのメトリック定義ファイル(metrics_blackbox_exporter.conf)」(2. 定義ファイル)を参照してください。

メトリック定義ファイルには,取得項目を追加できます。定義ファイル内で記述するPromQL文で指定できるメトリックを,次に示します。

メトリック名

Prober

取得する内容

ラベル

probe_http_duration_seconds

http

httpリクエストのフェーズごとにかかった秒数

リダイレクトはすべて合計します。

instance: インスタンス識別文字列

job: ジョブ名

phase:フェーズ

注※

次のどれかが入ります。

  • "resolve"

  • "connect"

  • "tls"

  • "processing"

  • "transfer"

probe_http_content_length

http

HTTPコンテンツ応答の長さ

instance: インスタンス識別文字列

job: ジョブ名

probe_http_uncompressed_body_length

http

非圧縮応答本文の長さ

instance: インスタンス識別文字列

job: ジョブ名

probe_http_redirects

http

リダイレクトの回数

instance: インスタンス識別文字列

job: ジョブ名

probe_http_ssl

http

最終リダイレクトにSSLが使用されたかどうか

  • 0:TLS/SSLが使用されなかった

  • 1:TLS/SSLが使用された

instance: インスタンス識別文字列

job: ジョブ名

probe_http_status_code

http

HTTPレスポンスのステータスコードの値

リダイレクトを行っている場合,最終的なステータスコードが,メトリックの値になります。

リダイレクトを行っていない場合,最初に受信したステータスコードがメトリックの値になります。

instance: インスタンス識別文字列

job: ジョブ名

probe_ssl_earliest_cert_expiry

http

最も早く有効期限が切れるSSL証明書のUNIX時間

instance: インスタンス識別文字列

job: ジョブ名

probe_ssl_last_chain_expiry_timestamp_seconds

http

SSLチェーンの最後の証明書の有効期限のタイムスタンプ

このメトリックを監視する場合,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の<tls_config>の設定で,insecure_skip_verifyパラメーターにfalseを指定し,証明書を配置して,証明書ファイルのパスを該当するパラメーターに指定する必要があります。

instance: インスタンス識別文字列

job: ジョブ名

probe_ssl_last_chain_info

http

SSLリーフ証明書情報

監視対象となるサーバ証明書のSHA256ハッシュ値になります。ハッシュ値はラベル「fingerprint_sha256」に設定されます。

instance: インスタンス識別文字列

job: ジョブ名

fingerprint_sha256:証明書のsha256指紋

probe_tls_version_info

http

使用されるTLSバージョン

"TLS 1.2"などのTLSバージョンがラベル「version」に設定されます。

instance: インスタンス識別文字列

job: ジョブ名

version:TLSバージョン

probe_http_version

http

プローブ応答のHTTPのバージョン

instance: インスタンス識別文字列

job: ジョブ名

probe_failed_due_to_regex

http

応答本文やレスポンスヘッダーに対する正規表現チェックによりプローブが失敗したかどうか

  • 0:成功

  • 1:失敗

instance: インスタンス識別文字列

job: ジョブ名

probe_http_last_modified_timestamp_seconds

http

HTTP応答ヘッダーのLast-Modifiedを示すUNIX時間

instance: インスタンス識別文字列

job: ジョブ名

probe_icmp_duration_seconds

icmp

ICMPリクエストのフェーズごとにかかった秒数

instance: インスタンス識別文字列

job: ジョブ名

phase: フェーズ

注※

次のどれかが入ります。

  • resolve

    名前解決時間

  • setup

    resolve完了からICMPパケットの送信までの時間

  • rtt

    setup後から応答を得るまでの時間

probe_icmp_reply_hop_limit

icmp

ホップリミット(IPv4の場合はTTL)の値

Windowsの場合は,サポート対象外です。

instance: インスタンス識別文字列

job: ジョブ名

probe_success

プローブが成功したかどうか

  • 0:失敗

  • 1:成功

instance: インスタンス識別文字列

job: ジョブ名

probe_duration_seconds

プローブが完了するまでにかかった秒数

instance: インスタンス識別文字列

job: ジョブ名

■ 監視対象とのIP通信

IPv4通信だけに対応しています。

■ 監視対象との暗号化通信

HTTP監視では,TLSによる暗号化通信を行えます。この場合,Blackbox exporterは,監視対象(TLSサーバ)に対してTLSクライアントとして動作します。

TLSによる暗号化通信を使用する場合は,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の項目「tls_config」で指定します。また,次に示す証明書ファイルおよびキーファイルを,準備する必要があります。

ファイル

形式

CA証明書ファイル

pkcs7形式のX509公開鍵証明書をPEM形式でエンコードしたファイル

クライアント証明書ファイル

クライアント証明書キーファイル

pkcs1またはpkcs8形式の秘密鍵をPEM形式でエンコードしたファイル

注※

パスワードで保護したファイルは使用できません。

使用できるTLSバージョンと暗号スイートのサポート範囲を,次に示します。

項目

サポート範囲

TLSバージョン

1.0〜1.3

注※

1.0および1.1は推奨しません。監視対象(TLSサーバ)側の設定を見直すことをお勧めします。

暗号スイート

  • "TLS_RSA_WITH_3DES_EDE_CBC_SHA"(TLS1.2まで)

  • "TLS_RSA_WITH_AES_128_CBC_SHA"(TLS1.2まで)

  • "TLS_RSA_WITH_AES_256_CBC_SHA"(TLS1.2まで)

  • "TLS_RSA_WITH_AES_128_GCM_SHA256"(TLS1.2だけ)

  • "TLS_RSA_WITH_AES_256_GCM_SHA384"(TLS1.2だけ)

  • "TLS_AES_128_GCM_SHA256"(TLS1.3だけ)

  • "TLS_AES_256_GCM_SHA384"(TLS1.3だけ)

  • "TLS_CHACHA20_POLY1305_SHA256"(TLS1.3だけ)

  • "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"(TLS1.2まで)

  • "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"(TLS1.2まで)

  • "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"(TLS1.2まで)

  • "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"(TLS1.2まで)

  • "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"(TLS1.2まで)

  • "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"(TLS1.2だけ)

  • "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"(TLS1.2だけ)

  • "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"(TLS1.2だけ)

  • "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"(TLS1.2だけ)

  • "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"(TLS1.2だけ)

  • "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"(TLS1.2だけ)

■ 稼働情報の収集に関するタイムアウト

(通常状態で)応答が遅いネットワーク環境では,タイムアウト時間を調整することにより,稼働情報を収集できます。

Prometheus serverでは,Prometheus設定ファイル(jpc_prometheus_server.yml)の項目「scrape_timeout」で,スクレイプ要求のタイムアウト時間を指定できます。

詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)の,項目「scrape_timeout」の説明を参照してください。

また,Blackbox exporterから監視対象へ接続するときのタイムアウト時間は,上記の「scrape_timeout」で指定した値の0.5秒前となります。

■ 証明書の有効期限

HTTPS監視による稼働情報の収集を行う場合,Exporterは監視対象から証明書リスト(サーバ証明書とサーバ証明書を証明する証明書リスト)を受け取ります。

Blackbox exporterでは,最も期限が近い証明書の有効期限(UNIX時間)を,probe_ssl_earliest_cert_expiryメトリクスとして収集できます。

また,「probe_ssl_earliest_cert_expiryメトリクスの値」−「PromQLのtime()関数の値」の計算値で,期限までの残りの秒数を算出できるため,「9.5.3(4)パフォーマンスデータの監視・通知機能」の機能を使用して,期限が近い証明書を監視できます。

■ HTTP監視時のHTTPリクエストヘッダーのUser-Agentの値

HTTP監視時のHTTPリクエストヘッダーに含まれるUser-Agentのデフォルト値は,「"Go-http-client/1.1"」です。Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の項目「headers」の設定で,User-Agentの値を変更できます。

User-Agentの値を「"My-Http-Client"」に変更する場合の例を,次に示します。

modules:

http:

prober: http

http:

headers:

User-Agent: "My-Http-Client"

詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)」(2. 定義ファイル)の,項目「headers」の説明を参照してください。

■ HTTP1.1名前ベースバーチャルホストの対応について

Blackbox exporterは,HTTP1.1名前ベースバーチャルホストおよびTLSのServer Name Indication(SNI)に対応しています。1つのHTTP/HTTPSサーバを複数のHTTP/HTTPSサーバに見せかけた仮想ホストに対する監視ができます。

■ TLSサーバ認証とクライアント認証について

Blackbox exporterのHTTPS監視では,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の項目「ca_file」に記述したCA証明書と,サーバとのHTTPS通信開始時(TLSハンドシェイク時)にサーバが送信したサーバ証明書を使用して,サーバ認証を行います。

送信された証明書が正しくない場合(サーバ名が正しくない,有効期限が切れている,自己証明書を使用している など),HTTPS通信を開始できず,監視はエラーになります。

また,HTTPS通信開始時(TLSハンドシェイク時)に,監視対象サーバから証明書の送信要求があると,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の項目「cert_file」に記述したクライアント証明書を監視対象サーバに送信します。

送信された証明書を,サーバが検証して不正と認識し,TLSプロトコルを通じて,Blackbox exporterにエラーを返却した場合(または,通信の切断などで通信を継続できない場合),監視はエラーになります。

監視対象サーバでの,クライアント証明書に関する検証内容および不正時の動作については,監視対象サーバ(または,ロードバランサなどの中継機器)の仕様を確認してください。

なお,サーバ認証時の証明書に関する不正の検知については,Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)の項目「insecure_skip_verify」に「true」を指定すると,エラーにならずにHTTPS通信を開始できます。ただし,その場合,サーバでのクライアント認証に関する検証の動作は無効となります。

詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Blackbox exporter設定ファイル(jpc_blackbox_exporter.yml)」(2. 定義ファイル)の,項目「insecure_skip_verify」の説明を参照してください。

■ Cookie情報について

Blackbox exporterでは,監視対象から送信されてきたCookie情報を,次のHTTP通信のリクエストで使用しません。

■ HTTP通信のレスポンスボディーに含まれるコンテンツから参照する外部リソースについて

Blackbox exporterでは,HTTP通信のレスポンスボディーに含まれるコンテンツから参照する外部リソース(サブフレーム,画像など)は,監視範囲に含めません。

■ HTTP通信のレスポンスボディーに含まれるコンテンツの監視について

Blackbox exporterでは,コンテンツのパース(解析)を行わないため,HTTP通信のレスポンスボディーに含まれるコンテンツ内の構文(HTML,javascriptなど)による実行結果や実行時間は,監視結果に反映されません。

■ HTTP監視の監視先がBasic認証ありでリダイレクトする場合の注意事項

Blackbox exporterのHTTP監視の監視先がBasic認証ありでリダイレクトする場合,Blackbox exporterは,リダイレクト元とリダイレクト先に同じBasic認証のユーザー名とパスワードを送付します。このため,リダイレクト元とリダイレクト先の両方でBasic認証を行う場合,リダイレクト元とリダイレクト先で,同じユーザー名とパスワードを設定しておく必要があります。

(d) Node exporter

Node exporterは,監視対象のLinuxホストに組み込んで,Linuxホストの稼働情報を取得するExporterです。

Node exporterは,Prometheus serverと同じホストにインストールされ,Prometheus serverからのスクレイプ要求を契機に,同ホストのLinux OSから稼働情報を収集して,Prometheus serverに返却します。

ホストの外からの監視(URLによる外形監視やCloudWatch)では収集できない,メモリーやディスクに関する稼働情報を,ホスト内部から収集できます。

■ 主な取得項目

Node exporterの主な取得項目は,Node exporterのメトリック定義ファイル(初期状態)で定義しています。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Node exporterのメトリック定義ファイル(metrics_node_exporter.conf)」(2. 定義ファイル)を参照してください。

メトリック定義ファイルには,取得項目を追加できます。定義ファイル内で記述するPromQL文で指定できるメトリックを,次に示します。なお,表内の「コレクタ」の詳細については,表下の「コレクタ」の説明を参照してください。

メトリック名

コレクタ

取得する内容

ラベル

node_boot_time_seconds

stat

最後の起動時刻

マイクロ秒を含むUNIX時間で示します。

instance: インスタンス識別文字列

job: ジョブ名

node_context_switches_total

stat

コンテキストスイッチが行われた回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

node_cpu_seconds_total

cpu

各モードで費やされたCPUの秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

cpu: cpuid

mode: モード

注※

次のどれかが入ります。

  • user

  • nice

  • system

  • idle

  • iowait

  • irq

  • soft

  • steal

node_disk_io_now

diskstats

現在進行中のディスクのI/O数

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_io_time_seconds_total

diskstats

ディスクのI/Oに費やされた秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_read_bytes_total

diskstats

ディスクから正常に読み取られたバイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_read_time_seconds_total

diskstats

ディスクからの読み込みにかかった秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_reads_completed_total

diskstats

正常に完了したディスクからの読み取りの回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_write_time_seconds_total

diskstats

ディスクへの書き込みにかかった秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_writes_completed_total

diskstats

正常に完了したディスクへの書き込みの回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_disk_written_bytes_total

diskstats

ディスクへ正常に書き込んだバイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:デバイス名

node_filesystem_avail_bytes

filesystem

root以外のユーザーが使用可能なファイルシステムのバイト数

instance: インスタンス識別文字列

job: ジョブ名

fstype:ファイルシステムタイプ

mountpoint:マウントポイント

node_filesystem_files

filesystem

ファイルシステムのファイルノード数

instance: インスタンス識別文字列

job: ジョブ名

fstype:ファイルシステムタイプ

mountpoint:マウントポイント

node_filesystem_files_free

filesystem

ファイルシステムの空きファイルノード数

instance: インスタンス識別文字列

job: ジョブ名

fstype:ファイルシステムタイプ

mountpoint:マウントポイント

node_filesystem_free_bytes

filesystem

ファイルシステムの空き領域のバイト数

instance: インスタンス識別文字列

job: ジョブ名

fstype:ファイルシステムタイプ

mountpoint:マウントポイント

node_filesystem_size_bytes

filesystem

ファイルシステムの容量のバイト数

instance: インスタンス識別文字列

job: ジョブ名

fstype:ファイルシステムタイプ

mountpoint:マウントポイント

node_intr_total

stat

処理された割り込みの回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

node_load1

loadavg

実行キューにあるジョブ数の1分間の平均値

instance: インスタンス識別文字列

job: ジョブ名

node_load15

loadavg

実行キューにあるジョブ数の15分間の平均値

instance: インスタンス識別文字列

job: ジョブ名

node_load5

loadavg

実行キューにあるジョブ数の5分間の平均値

instance: インスタンス識別文字列

job: ジョブ名

node_memory_Active_file_bytes

meminfo

最近使用されたファイルキャッシュメモリーのバイト数

/proc/meminfoのActive(file)をバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_Buffers_bytes

meminfo

ファイルバッファーのバイト数

/proc/meminfoのBuffersをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_Cached_bytes

meminfo

ファイル読み込みキャッシュメモリーのバイト数

/proc/meminfoのCachedをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_Inactive_file_bytes

meminfo

最近使用されていないファイルキャッシュメモリーのバイト数

/proc/meminfoのInactive(file)をバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_MemAvailable_bytes

meminfo

スワップせずに新しいアプリケーションを起動するために使用できるメモリーのバイト数

/proc/meminfoのMemAvailableをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_MemFree_bytes

meminfo

メモリーの空き領域のバイト数

/proc/meminfoのMemFreeをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_MemTotal_bytes

meminfo

メモリーの総容量のバイト数

/proc/meminfoのMemTotalをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_SReclaimable_bytes

meminfo

回収可能なSlabキャッシュのバイト数

/proc/meminfoのSReclaimableをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_SwapFree_bytes

meminfo

スワップメモリーの空き領域のバイト数

/proc/meminfoのSwapFreeをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_memory_SwapTotal_bytes

meminfo

スワップメモリーの総容量のバイト数

/proc/meminfoのSwapTotalをバイトに変換した値です。

instance: インスタンス識別文字列

job: ジョブ名

node_netstat_Icmp6_InMsgs

netstat

受信したICMPv6メッセージ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Icmp_InMsgs

netstat

受信したICMPv4メッセージ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Icmp6_OutMsgs

netstat

送信したICMPv6メッセージ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Icmp_OutMsgs

netstat

送信したICMPv4メッセージ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Tcp_InSegs

netstat

受信したTCPパケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Tcp_OutSegs

netstat

送信したTCPパケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Udp_InDatagrams

netstat

受信したUDPパケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_netstat_Udp_OutDatagrams

netstat

送信したUDPパケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_flags

netclass

インターフェースの状態を示す数値

/sys/class/net/<iface>/flagsの値を10進数にした値です。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_iface_link

netclass

インターフェースの通し番号

/sys/class/net/<iface>/iflinkの値です。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_mtu_bytes

netclass

インターフェースのMTU値

/sys/class/net/<iface>/mtuの値です。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_receive_bytes_total

netdev

ネットワークデバイスの受信バイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_receive_errs_total

netdev

ネットワークデバイスの受信エラー数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_receive_packets_total

netdev

ネットワークデバイスの受信パケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_transmit_bytes_total

netdev

ネットワークデバイスの送信バイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_transmit_colls_total

netdev

ネットワークデバイスの送信コリジョン数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_transmit_errs_total

netdev

ネットワークデバイスの送信エラー数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_network_transmit_packets_total

netdev

ネットワークデバイスの送信パケット数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

node_time_seconds

time

エポック(1970)以降のシステム時間の秒数

instance: インスタンス識別文字列

job: ジョブ名

node_uname_info

uname

unameシステムコールで取得したシステム情報

instance: インスタンス識別文字列

job: ジョブ名

domainname: NISやYPのドメイン名

machine: ハードウェア識別子

nodename:実装時に定義された何らかのネットワークにおけるマシン名

release: オペレーションシステムのリリース番号 (例:"2.6.28")

sysname:OSの名前(例:"Linux")

version: オペレーティングシステムのバージョン

node_vmstat_pswpin

vmstat

ページスワップインの回数(累積値)

/proc/vmstatのpswpinの値です。

instance: インスタンス識別文字列

job: ジョブ名

node_vmstat_pswpout

vmstat

ページスワップアウトの回数(累積値)

/proc/vmstatのpswpoutの値です。

instance: インスタンス識別文字列

job: ジョブ名

■ コレクタ

Node exporterには,CPU,メモリーなどの監視対象のリソースごとに,「コレクタ」と呼ばれる収集処理が内蔵されています。

上記の表に示すメトリックを取得項目として追加する場合は,使用するメトリックに対応するコレクタを有効にする必要があります。また,収集しないメトリックのコレクタを無効にして,不要な収集を抑止することもできます。

コレクタごとの有効・無効化は,Node exporterのコマンドラインのオプションで指定できます。有効化するコレクタを「--collector.コレクタ名」のオプション,無効化するコレクタを「--no-collector.コレクタ名」のオプションで指定します。

Node exporterのコマンドラインのオプションについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の,「node_exporterコマンドのオプション」の説明を参照してください。

(e) Windows exporter

Windows exporterは,監視対象のWindowsホストに組み込んで,Windowsホストの稼働情報を取得するExporterです。

Windows exporterは,Prometheus serverと同じホストにインストールされ,Prometheus serverからのスクレイプ要求を契機に,同ホストのWindows OSから稼働情報を収集して,Prometheus serverに返却します。

ホストの外からの監視(URLによる外形監視やCloudWatch)では収集できない,メモリーやディスクに関する稼働情報を,ホスト内部から収集できます。

■ 主な取得項目

Windows exporterの主な取得項目は,Windows exporterのメトリック定義ファイル(初期状態)で定義しています。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windows exporterのメトリック定義ファイル(metrics_windows_exporter.conf)」(2. 定義ファイル)を参照してください。

メトリック定義ファイルには,取得項目を追加できます。定義ファイル内で記述するPromQL文で指定できるメトリックを,次に示します。なお,表内の「コレクタ」の詳細については,表下の「コレクタ」の説明を参照してください。

メトリック名

コレクタ

取得する内容

ラベル

windows_cache_copy_read_hits_total

cache

キャッシュにヒットしたコピー読み取り要求の回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_cache_copy_reads_total

cache

ファイルシステムキャッシュのページから読み込んだ回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_cpu_time_total

cpu

モードごとに費やしたプロセッサ時間の秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

core: coreid

mode: モード

注※

次のどれかが入ります。

  • "dpc"

  • "idle"

  • "interrupt"

  • "privileged"

  • "user"

windows_cs_physical_memory_bytes

cs

物理メモリ容量のバイト数

instance: インスタンス識別文字列

job: ジョブ名

windows_logical_disk_idle_seconds_total

logical_disk

ディスクがアイドル状態だった秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_free_bytes

logical_disk

ディスクの未使用領域のバイト数

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_read_bytes_total

logical_disk

読み取り操作中にディスクから転送されたバイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_read_seconds_total

logical_disk

読み取り操作のためにディスクがビジーであった秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_reads_total

logical_disk

ディスクへの読み取り操作の回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_requests_queued

logical_disk

ディスクのキューに存在するリクエスト数

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_size_bytes

logical_disk

ディスク容量のバイト数

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_write_bytes_total

logical_disk

書き込み操作中にディスクに転送されたバイト数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_write_seconds_total

logical_disk

書き込み操作のためにディスクがビジーであった秒数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_logical_disk_writes_total

logical_disk

ディスクへの書き込み操作の回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

volume: ボリューム名

windows_memory_available_bytes

memory

物理メモリーの未使用領域のバイト数

プロセスへの割り当て,またはシステムがすぐに利用できるゼロメモリー,空きメモリー,およびスタンバイメモリー(キャッシュ済み)の領域の合計です。

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_cache_bytes

memory

ファイルシステムのキャッシュに使用されている物理メモリーのバイト数

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_cache_faults_total

memory

ファイルシステムキャッシュでページフォールトが発生した回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_page_faults_total

memory

ページフォールトが発生した回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_pool_nonpaged_allocs_total

memory

ページアウト不可能な物理メモリー領域を割り当てた回数

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_pool_paged_allocs_total

memory

ページアウト可能な物理メモリー領域を割り当てた回数

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_swap_page_operations_total

memory

ハードページフォールトを解決するためにディスクから読み取られた,またはディスクへ書き込まれたページ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_swap_pages_read_total

memory

ハードページフォールトを解決するためにディスクから読み取られたページ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_swap_pages_written_total

memory

ハードページフォールトを解決するためにディスクへ書き込まれたページ数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_system_cache_resident_bytes

memory

物理メモリー内のアクティブなシステムファイルキャッシュのバイト数

instance: インスタンス識別文字列

job: ジョブ名

windows_memory_transition_faults_total

memory

ページを共有しているほかのプロセスによって使用されていたページ,修正ページリストもしくはスタンバイリストにあったページ,またはディスクに書き込まれていたページを回復することによって解決したページフォールトの回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

windows_net_bytes_received_total

net

インターフェースによって受信されたバイト数(累積値)

NIC名称に半角英数字以外の文字が含まれている場合,それらの文字がアンダースコアに変換されてnicラベルに設定されます。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_net_bytes_sent_total

net

インターフェースから送信されたバイト数(累積値)

NIC名称に半角英数字以外の文字が含まれている場合,それらの文字がアンダースコアに変換されてnicラベルに設定されます。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_net_bytes_total

net

インターフェースによって受信および送信されたバイト数(累積値)

NIC名称に半角英数字以外の文字が含まれている場合,それらの文字がアンダースコアに変換されてnicラベルに設定されます。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_net_packets_sent_total

net

インターフェースによって送信されたパケット数(累積値)

NIC名称に半角英数字以外の文字が含まれている場合,それらの文字がアンダースコアに変換されてnicラベルに設定されます。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_net_packets_received_total

net

インターフェースによって受信されたパケット数(累積値)

NIC名称に半角英数字以外の文字が含まれている場合,それらの文字がアンダースコアに変換されてnicラベルに設定されます。

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_system_context_switches_total

system

コンテキストスイッチの回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_system_processor_queue_length

system

プロセッサキュー内のスレッド数

instance: インスタンス識別文字列

job: ジョブ名

device:ネットワークデバイス名

windows_system_system_calls_total

system

プロセスからOSのサービスルーチンを呼び出した回数(累積値)

instance: インスタンス識別文字列

job: ジョブ名

■ コレクタ

Windows exporterには,CPU,メモリーなどの監視対象のリソースごとに,「コレクタ」と呼ばれる収集処理が内蔵されています。

上記の表に示すメトリックを取得項目として追加する場合は,使用するメトリックに対応するコレクタを有効にする必要があります。また,収集しないメトリックのコレクタを無効にして,不要な収集を抑止することもできます。

コレクタごとの有効・無効化は,Windows exporterのコマンドラインの「--collectors.enabled」オプション,または,Windows exporter設定ファイル(jpc_windows_exporter.yml)の項目「collectors.enabled」で指定できます。

Windows exporterのコマンドラインのオプションについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「サービス定義ファイル(jpc_プログラム名_service.xml)」(2. 定義ファイル)の,「windows_exporterコマンドのオプション」の説明を参照してください。

Windows exporter設定ファイルの項目「collectors.enabled」については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Windows exporter設定ファイル(jpc_windows_exporter.yml)」(2. 定義ファイル)の,項目「collectors」の説明を参照してください。

(f) Yet another cloudwatch exporter

Yet another cloudwatch exporterは,監視エージェントに含まれ,Amazon CloudWatchを使用して,クラウド上のAWSサービスの稼働情報を収集するExporterです。

Yet another cloudwatch exporterは,Prometheus serverと同じホストにインストールされ,Prometheus serverからのスクレイプ要求を契機に,AWSが提供するSDK(AWS SDK)を介して取得したCloudWatchメトリックを収集して,Prometheus serverに返却します。

注※

Amazon Web Services(AWS)が提供するSDKです。Yet another cloudwatch exporterは,Go言語版のAWS SDK for Go (V1)を使用しています。CloudWatch監視では,Amazon CloudWatchがAWS SDK for Go (V1)をサポートしている必要があります。

Node exporterやWindows exporterを組み込むことができないサービスを,監視できます。

■ 主な取得項目

Yet another cloudwatch exporterの主な取得項目は,Yet another cloudwatch exporterのメトリック定義ファイル(初期状態)で定義しています。詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Yet another cloudwatch exporterのメトリック定義ファイル(metrics_ya_cloudwatch_exporter.conf)」(2. 定義ファイル)を参照してください。

■ 収集できるCloudWatchメトリック

9.5.1(1)(k)Yet another cloudwatch exporterのIM管理ノードの作成」に記載しているJP1/IM - AgentのYet another cloudwatch exporterが監視対象としてサポートするAWSの名前空間名のメトリックを収集できます。

収集するメトリックは,Yet another cloudwatch exporter設定ファイル(jpc_ya_cloudwatch_exporter.yml)に,AWSサービス名およびCloudWatchメトリック名を記述して指定します。

AWS/EC2サービスのCloudWatchメトリックの,CPUUtilizationとDiskReadBytesを収集する場合のYet another cloudwatch exporter設定ファイルの記述例を,次に示します。

discovery:

exportedTagsOnMetrics:

ec2:

- jp1_pc_nodelabel

jobs:

- type: ec2

regions:

- ap-northeast-1

period: 60

length: 300

delay: 60

nilToZero: true

searchTags:

- key: jp1_pc_nodelabel

value: .*

metrics:

- name: CPUUtilization

statistics:

- Maximum

- name: DiskReadBytes

statistics:

- Maximum

Yet another cloudwatch exporter設定ファイルの記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Yet another cloudwatch exporter設定ファイル(jpc_ya_cloudwatch_exporter.yml)」(2. 定義ファイル)を参照してください。

また,Yet another cloudwatch exporter設定ファイルで設定したメトリックを使用して,Yet another cloudwatch exporterのメトリック定義ファイルに,新たなメトリックを追加することもできます。

定義ファイル内で記述するPromQL文で指定するメトリックおよびラベルは,次に示す名称規則に従ったものを使用します。

■Exporterのメトリックの名称規則

Yet another cloudwatch exporterは,CloudWatchのメトリック名称を,次に示すルールで自動変換したものを,Exporterのメトリック名として扱います。また,PromQL文で指定するメトリックは,Exporterのメトリック名を使用して記述します。

"aws_"※1名前空間※2+"_"+CloudWatchメトリック※2+"_"+統計タイプ※2

注※1

名前空間が"aws_"で始まらない場合に付加されます。

注※2

Yet another cloudwatch exporter設定ファイル(jpc_ya_cloudwatch_exporter.yml)で設定した名称を示します。次に示すルールで変換されます。

  • キャメルケースの表記からスネークケースの表記に変換されます。

    キャメルケースとは,「CamelCase」や「camelCase」のように単語の区切りを大文字にする記法のことです。

    スネークケースとは,「snake_case」のように単語の区切りを"_"にする記法のことです。

  • 次に示す記号は"_"に変換されます。

    半角空白,半角コンマ,タブ,/\,半角ピリオド,-:=,全角左二重引用符,@<>

  • "%"は"_percent"に変換されます。

■Exporterのラベルの名称規則

Yet another cloudwatch exporterは,CloudWatchのディメンション・タグ名称を,次に示すルールで自動変換したものを,Exporterのラベル名として扱います。また,PromQL文で指定するラベルは,Exporterのラベル名を使用して記述します。

  • ディメンションの場合

    "dimension"+"_"+ディメンションの名称

  • タグの場合

    "tag"+"_"+タグの名称

  • カスタムタグの場合

    "custom_tag_"+"_"+カスタムタグの名称

注※

Yet another cloudwatch exporter設定ファイル(jpc_ya_cloudwatch_exporter.yml)で設定した名称を示します。

■ AWSアカウントでのIAMユーザーのポリシーについて

AWS CloudWatchに接続するためは,次に示すアクセス許可のポリシーを作成して,IAMユーザーに割り当てる必要があります。

"tag:GetResources",
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"

JSON形式の情報の設定手順については,マニュアル「JP1/Integrated Management 3 - Manager 構築ガイド」の「2.19.2(7)(b) CloudWatchに接続するための設定を変更する(Linuxの場合)(オプション)」を参照してください。

■ 環境変数HTTPS_PROXY

Yet another cloudwatch exporterからプロキシ経由でCloudWatchに接続する場合に指定する環境変数です。環境変数HTTPS_PROXYに設定できるURLはhttpだけです。なお,サポートする認証方式はBasic認証だけです。

環境変数HTTPS_PROXYを設定することで,プロキシ経由でAWS CloudWatchに接続できます。設定例を次に示します。

HTTPS_PROXY=http://username:password@proxy.example.com:5678

■ JP1/IM - Agentでサポートしていない監視対象の対応方法について

JP1/IM - Agentで監視できない製品やメトリックがある場合は,ユーザー独自のExporterなどを使用してデータを取得する必要があります。

(3) パフォーマンスデータの一元管理機能

Prometheus serverが,監視対象から収集したパフォーマンスデータを,JP1/IM - Managerのインテリジェント統合管理データベースに格納する機能です。次の機能があります。

(a) リモートライト機能

Prometheus serverが,監視対象から収集したパフォーマンスデータを,外部の長期保存に適したデータベースに送信する機能です。JP1/IM - Agentでは,この機能を利用して,パフォーマンスデータをJP1/IM - Managerに送信します。

リモートライトの定義方法を,次に示します。

  • リモートライト定義は,Prometheus server設定ファイル(jpc_prometheus_server.yml)に記述します。

  • 統合オペレーション・ビューアーからPrometheus server設定ファイルをダウンロードし,テキストエディターで編集を行って,リモートライト定義を変更したあと,アップロードします。

JP1/IM - Agentがサポートするリモートライト定義に関する設定項目を,次に示します。各設定項目の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)を参照してください。

表9‒22  JP1/IM - Agentがサポートするリモートライト定義に関する設定項目

設定項目

説明

リモートライト先

(必須)

統合エージェント制御基盤のエンドポイントURLを設定します。

リモートライトのタイムアウト時間

(任意)

リモートライトに時間がかかった場合のタイムアウト時間を設定できます。

デフォルトの値で問題がある場合に変更します。

リラベル設定

(任意)

不要なメトリックの削除やラベルのカスタマイズができます。

(4) パフォーマンスデータの監視・通知機能

Prometheus serverが,監視対象から収集したパフォーマンスデータを,閾値で監視し,JP1/IM - Managerに通知する機能です。次の3つの機能があります。

(a) アラート評価機能

監視対象から収集したパフォーマンスデータを,閾値で監視する機能です。

アラートの評価を行うためのアラートルールを定義して,パフォーマンスデータを閾値で監視し,アラートの通知を行います。

アラートの評価は,時系列データをそのまま閾値と比較,または,PromQLを使用した計算式の結果と閾値を比較して行うことができます。

注※

PromQLの詳細については,「2.7.4(4) PromQLについて」を参照してください。

時系列データごと,または,PromQL式の計算結果によって生成されたデータごとに,評価に応じたアラートの状態が管理され,アラート状態に応じて,通知に関する動作が実行されます。

アラートの状態には,「pending」,「firing」,および「resolved」の3つの状態があります。最初にアラートルールの条件に該当すると,「pending」の状態となります。そのあと,アラートルール定義に設定した一定の待ち時間の間,アラートルールの条件に該当し続けた(回復しなかった)場合,「firing」の状態になります。アラートルールの条件に該当しなかった(回復した)場合,または時系列がなくなった場合は,「resolved」の状態になります。

アラートの状態と通知に関する動作の関係を,次に示します。

アラートの状態

説明

通知に関する動作

pending

アラートルールに該当してから,一定期間が経過していない状態です。

アラートの通知を行いません。

firing

アラートルールに該当してから,一定期間が経過した状態です。

アラートの通知を行います。

resolved

アラートルールに該当しなくなった状態です。

  • 「firing」の状態から回復した場合,回復の通知を行います。

  • 「pending」状態から回復した場合,回復の通知を行いません。

アラートルールの定義方法を,次に示します。

  • アラートルール定義は,アラート設定ファイル(jpc_alerting_rules.yml)に記述します(任意のYAML形式の定義ファイルでも記述できます)。

  • 作成した定義ファイルは,使用する環境に反映させる前に,promtoolコマンドで書式チェックとアラートルールのテストを行います。

  • 統合オペレーション・ビューアーからアラート設定ファイルをダウンロードし,テキストエディターで編集を行って,アラートルールの定義を変更したあと,アップロードします。

JP1/IM - Agentがサポートするアラートルール定義に関する設定項目を,次に示します。各設定項目の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「アラート設定ファイル(jpc_alerting_rules.yml)」(2. 定義ファイル)を参照してください。なお,デフォルトのアラートルール定義はありません。

表9‒23  JP1/IM - Agentがサポートするアラートルール定義に関する設定項目

設定項目

説明

アラート名(必須)

アラート名を設定します。

条件式(必須)

アラートの条件式(閾値)を設定します。

PromQLを使用して設定できます。

待ち時間(必須)

「pending」の状態になってから「firing」の状態に変更するまでの待ち時間を設定します。

デフォルトの値で問題がある場合に変更します。

ラベル(必須)

アラートや回復の通知に追加するラベルを設定します。

JP1/IM - Agentでは,特定のラベルを設定する必要があります。

注釈(必須)

アラートの説明,URLリンクなどの追加情報を格納する場合に設定します。

JP1/IM - Agentでは,特定の注釈を設定する必要があります。

ラベルと注釈には,次に示す変数を使用できます。

変数

説明

$labels

アラートインスタンスのラベルキーと値のペアを保持する変数です。ラベルキーには,次に示すラベルを指定できます。

  • アラーム評価の条件式に時系列データを指定した場合

    データが保持するラベルを指定できます。

  • アラーム評価の条件式にPromQL式を指定した場合

    PromQL式の計算結果に設定されるラベルを指定できます。

$values

アラートインスタンスの評価値を保持する変数です。

異常通知の際には,異常を検知した時点の値に展開されます。

回復通知の際には,回復直前の異常時の値に展開されます(回復時点の値ではないことに注意してください)。

$externalLabels

Prometheus設定ファイル(jpc_prometheus_server.yml)の項目「global」の「external_labels」に設定したラベルと値を保持する変数です。

注※

変数は「{{」と「}}」で囲むことで値が展開されます。変数の使い方の例を,次に示します。

description: "{{ $labels.instance }} has a median request latency above 1s (current value: {{ $value }}s)"

■ JP1イベントに変換するためのアラートルール定義

通知を行うアラートを,JP1/IM - Manager側でJP1イベントに変換するために,次に示す情報を,アラートルール定義に設定しておく必要があります。

設定項目

設定する値

用途

name

統合エージェント内で重複しない任意のアラートグループ定義名を設定します。

アラートグループ定義名

alert

統合エージェント内で重複しない任意のアラート定義名を設定します。

アラート定義名

expr

PromQL文を設定します。

メトリック定義ファイルに記載したPromQL文を設定することを推奨します。こうすることで,JP1イベントが発生したときに,統合オペレーション・ビューアーでトレンド情報を表示できます。

異常条件

注※

条件を満たす場合は異常,条件を満たさない場合は正常となります。

labels.jp1_pc_product_name

"/HITACHI/JP1/JPCCS"を固定で設定します。

JP1イベントのプロダクト名に設定されます。

labels.jp1_pc_severity

次のどれかを設定します。

  • Emergency

  • Alert

  • Critical

  • Error

  • Warning

  • Notice

  • Information

  • Debug

JP1イベントの重大度に設定されます。

注※

異常のJP1イベントの重大度に設定される値となります。正常のJP1イベントの重大度には「Information」が設定されます。

labels.jp1_pc_eventid

0〜1FFF,7FFF8000〜7FFFFFFFの範囲内の任意の値を設定します。

JP1イベントのイベントIDに設定されます。

labels.jp1_pc_metricname

メトリック名を設定します。

Yet another cloudwatch exporterの場合,必ず指定してください。メトリック名(コンマ区切りで複数指定されている場合は先頭のメトリック名)に対応するAWS名前空間のIM管理ノードに対して,JP1イベントの関連付けを行います。

JP1イベントのメトリック名に設定されます。

Yet another cloudwatch exporterの場合,JP1イベントの関連付けにも使用されます。

annotations.jp1_pc_firing_description

アラートの異常条件を満たしたとき,JP1イベントのメッセージに設定する値を指定します。

値の長さが1,024バイト以上の場合,先頭から1,023バイト目までの文字列を設定します。

指定を省略した場合,JP1イベントのメッセージの内容は「The alert is firing.(alert=アラート名)」となります。

また,変数を指定することで,ジョブ名や評価値を埋め込むこともできます。変数を使用する場合,変数を展開したメッセージの先頭から1,024バイトまでが有効となります。

JP1イベントのメッセージに設定されます。

annotations.jp1_pc_resolved_description

アラートの異常条件を満たさなくなったとき,JP1イベントのメッセージに設定する値を指定します。

値の長さが1,024バイト以上の場合,先頭から1,023バイト目までの文字列を設定します。

指定を省略した場合,JP1イベントのメッセージの内容は「The alert is resolved.(alert=アラート名)」となります。

また,変数を指定することで,ジョブ名や評価値を埋め込むこともできます。変数を使用する場合,変数を展開したメッセージの先頭から1,024バイトまでが有効となります。

JP1イベントのメッセージに設定されます。

アラート定義の設定例については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」(2. 定義ファイル)の各Exporterのメトリック定義ファイルについて説明している章で,各メトリックの設定内容(初期状態)を記載している表の「アラート定義例」の説明を参照してください。

対応するJP1イベントの属性については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「3.2.3 JP1/IM - Agent が発行するJP1 イベント一覧」を参照してください。

■ トレンド表示関連機能と組み合わせた運用方法について

メトリック定義ファイルに記述するPromQL文と,アラート評価機能で評価するPromQL文の定義内容を合わせておき,アラート設定ファイルのアラート定義のannotations.jp1_pc_firing_descriptionおよびannotations.jp1_pc_resolved_descriptionに,対応するトレンドデータのメトリック名を記述しておくことで,アラートのJP1イベントが発行されたときに,アラートで評価した性能値の過去の変化や現在値を,統合オペレーション・ビューアーの[トレンド]タブで,確認できます。

トレンド表示関連機能で定義するPromQL文については,「9.5.1(4)トレンドデータの返却」を参照してください。

例えば,Node exporterでCPU使用率を監視し,CPU使用率が80%を超えたときにアラートを通知する場合は,次の記述例に示すように,アラート設定ファイル(アラート定義)とメトリック定義ファイルを作成します。

  • アラート設定ファイル(アラート定義)の記述例

    groups:
      - name: node_exporter
        rules:
        - alert: cpu_used_rate(Node exporter)
          expr: 80 < (avg by (instance,job,jp1_pc_nodelabel,jp1_pc_exporter) (rate(node_cpu_seconds_total{mode="system"}[2m])) + avg by (instance,job,jp1_pc_nodelabel,jp1_pc_exporter) (rate(node_cpu_seconds_total{mode="user"}[2m]))) * 100
          for: 3m
          labels:
            jp1_pc_product_name: "/HITACHI/JP1/JPCCS"
            jp1_pc_severity: "Error"
            jp1_pc_eventid: "0301"
            jp1_pc_metricname: "node_cpu_seconds_total"
          annotations:
            jp1_pc_firing_description: "CPU使用率がしきい値(80%)を上回りました。value={{ $value }}%"
            jp1_pc_resolved_description: "CPU使用率がしきい値(80%)を下回りました。"
  • メトリック定義ファイルの記述例

    [
      {
        "name":"cpu_used_rate",
        "default":true,
        "promql":"(avg by (instance,job,jp1_pc_nodelabel,jp1_pc_exporter) (rate(node_cpu_seconds_total{mode=\"system\"}[2m]) and $jp1im_TrendData_labels) + avg by (instance,job,jp1_pc_nodelabel,jp1_pc_exporter) (rate(node_cpu_seconds_total{mode=\"user\"}[2m]) and $jp1im_TrendData_labels)) * 100",
        "resource_en":{
          "category":"platform_unix",
          "label":"CPU used rate",
          "description":"CPU usage.It also indicates the average value per processor. [Units: %]",
          "unit":"%"
        },
        "resource_ja":{
          "category":"platform_unix",
          "label":"CPU使用率",
          "description":"CPU使用率(%)。プロセッサごとの割合の平均値でもある。",
          "unit":"%"
        }
      }
    }

    アラート定義のexprに指定したPromQL文の条件を満たし,アラートのJP1イベントが発行されると,JP1イベントのメッセージには,「CPU使用率がしきい値(80%)を上回りました。value=性能値%」というメッセージが設定されます。ユーザーはこのメッセージを見て,「CPU使用率」のトレンド情報を表示し,CPU使用率の過去の変化や現在値を確認できます。

■ サービス停止時の動作について

Prometheus serverまたはAlertmanagerのサービスが停止している場合,アラートのJP1イベントは発行されません。また,Prometheus serverとAlertmanagerのサービスが稼働している状態で,アラートが異常であるExporterが,障害により停止した場合,アラートは正常となり,正常のJP1イベントを発行します。

■ サービス再起動時の動作について

アラートが異常または正常の状態で,Prometheus server,Alertmanager,または,Exporterのサービスを再起動しても,現在のアラートの状態が再起動前のアラートの状態と同じである場合は,JP1イベントを発行しません。

■ パフォーマンスデータのスパイクの考慮について

パフォーマンスデータが瞬間的に飛びぬけた値(大きな値,小さな値,またはマイナスの値)になることがあります。このようなパフォーマンスデータの急激な変化を一般的に「スパイク」と呼びます。スパイクが発生し,瞬間的に異常値となっても,すぐに正常値に戻り,異常として扱う必要がないケースが多くあります。また,OSの再起動などで,パフォーマンスデータがリセットされたときに,瞬間的にスパイクが発生することもあります。

このようなパフォーマンスデータのメトリックを監視する場合は,アラートルールの定義で「for」(アラートを異常と扱うまでの猶予時間)を指定することで,突発的な異常検知を抑止することを検討する必要があります。

(b) アラート通知機能

Prometheus serverがアラートを評価したあと,アラートの状態が「firing」または「resolved」になったときに,通知を行う機能です。

Prometheus serverは,アラートを1件ずつ送信し,送信されたアラートは,Alertmanagerを経由してJP1/IM - Manager(インテリジェント統合管理基盤)に通知されます。リトライ時も1件ずつ通知されます。

なお,JP1/IM - Managerに送信されるアラートは,基本的に発生した順番に送信されますが,複数のアラートルールが同時に条件を満たした場合や,送信エラーが発生して再送される場合に,順序が入れ替わることがあります。しかし,アラートの情報に発生時刻が含まれているため,どの順番で発生したかを把握できるようになっています。

また,7日間にわたって異常状態が継続された場合,アラートが再通知されます。

アラートの通知先の定義方法を,次に示します。

  • アラートの通知先は,Prometheus設定ファイル(jpc_prometheus_server.yml)とAlertmanager設定ファイル(jpc_alertmanager.yml)の両方に記述します。

    Prometheus設定ファイルには,Prometheus serverの通知先として,同居するAlertmanagerを指定します。Alertmanager設定ファイルには,Alertmanagerの通知先として,統合エージェント制御基盤を指定します。

  • 統合オペレーション・ビューアーから各設定ファイルをダウンロードし,テキストエディターで編集を行って,アラートの通知先の定義を変更したあと,アップロードします。

JP1/IM - AgentがサポートするPrometheus serverの通知先の定義に関する設定項目を,次に示します。各設定項目の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Prometheus設定ファイル(jpc_prometheus_server.yml)」(2. 定義ファイル)を参照してください。

表9‒24  JP1/IM - AgentがサポートするPrometheus serverの通知先の定義に関する設定項目

設定項目

説明

通知先(必須)

通知先のAlertmanagerを設定します。

Alertmanagerのコマンドラインオプションの--web.listen-addressに,ホスト名またはIPアドレスを指定した場合は,localhostを--web.listen-addressに指定したホスト名またはIPアドレスに修正します。

  • 物理ホスト環境の場合

    同居するAlertmanagerを指定します。

  • クラスタ環境の場合

    論理ホストで動作するAlertmanagerを指定します。

ラベル設定(任意)

ラベルを追加できます。必要に応じて設定します。

JP1/IM - AgentがサポートするAlertmanagerの通知先に関する設定項目を,次に示します。各設定項目の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Alertmanager設定ファイル(jpc_alertmanager.yml)」(2. 定義ファイル)を参照してください。

表9‒25  JP1/IM - AgentがサポートするAlertmanagerの通知先の定義に関する設定項目

設定項目

説明

Webhookの設定(必須)

統合エージェント制御基盤のエンドポイントURLを設定します。

(c) 通知抑止機能

9.5.3(4)(b)アラート通知機能」で説明する通知を,抑止する機能です。次の機能があります。

  • サイレンス機能

    一時的に特定のアラートを通知したくない場合に使用します。

■ サイレンス機能

一時的に特定の通知を抑止する機能です。一時的なメンテナンスを行う場合など,その間に発生するアラートを通知しない設定ができます。なお,通知抑止機能では,JP1/IM - Managerの共通除外条件を使用する場合と異なり,JP1/IM - Managerへの通知自体を行いません。

サイレンスが有効である間は,アラートの状態が変わっても通知を行いません。サイレンスが無効になったときに,サイレンスを有効化する前のアラートの状態と比較して,状態が変わっていれば,通知を行います。

通知を行うタイミングについて,次に2つの例を示します。

図9‒22  サイレンスの有効化前と無効化後で状態が異なるケース

[図データ]

上記の図は,サイレンスを有効化するときのアラートの状態が「異常」で,サイレンスが有効である間に,アラートの状態が「正常」に変わり,そのあと,サイレンスを無効化した例です。

アラートが「正常」に変わったタイミングでは,サイレンスが有効であるため,通知は行われません。サイレンスを無効化したタイミングでは,アラートの状態が,サイレンスを有効化する前の「異常」から「正常」に変わっているため,「正常」の通知が行われます。

図9‒23  サイレンスの有効化前と無効化後で状態が同一となるケース

[図データ]

上記の図は,サイレンスが有効である間に,アラートの状態が一度「正常」に変わったあと,再び「異常」に変わり,そのあと,サイレンスを無効化した例です。

サイレンスを無効化したタイミングでは,アラートの状態は,サイレンスを有効化する前と同じ「異常」であるため,通知は行われません。

アラートの送信に失敗してリトライしているときに,そのアラートを抑止するサイレンスが有効になった場合,アラートの送信リトライは行われなくなります。

■サイレンスの設定方法

サイレンスの設定(有効化または無効化),および,現在のサイレンスの設定内容の取得は,REST APIで行います(GUIはサポートしていません)。

また,サイレンスの設定を行う場合,ユーザーが操作するマシンから統合エージェントホストに対して,Alertmanagerのポート番号で通信できるようにしておく必要があります。

サイレンスの設定,および,現在のサイレンスの設定内容の取得で使用するREST APIについては,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「5.21.3 Alertmanagerのサイレンス一覧取得」,「5.21.4 Alertmanagerのサイレンス作成」,および「5.21.5 Alertmanagerのサイレンス失効」を参照してください。