12.5.1 製品プラグイン
IMエクスポーターが提供するアドオンプログラムの機能のうち,次の機能については,JP1/IM - Agentの製品プラグイン(jp1pccs.js)ではなく,監視対象ごとに固有のIMエクスポーターの製品プラグインを使用します。
機能 |
製品プラグイン |
---|---|
Azure Monitorの性能情報の収集機能 |
jp1pccs_azure.js |
ユーザー独自のPrometheusによるコンテナ監視機能 |
jp1pccs_kubernetes.js |
IMエクスポーターのすべての製品プラグインについて,基本的な仕様や関連機能は,JP1/IM - Agentの製品プラグインと同じです。
ここでは,上記の監視対象ごとの製品プラグインで固有となる部分について説明します。
- 〈この項の構成〉
(1) IM管理ノードの作成(__configurationGetメソッド)
基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「IM管理ノードの作成」と同じです。
Azure Monitorの性能情報の収集機能とユーザー独自のPrometheusによるコンテナ監視機能は,Yet another cloudwatch exporterとは異なり,監視対象のAzure上またはKubernetes上でのタグ付けは不要です。
-
Azure Monitorの性能情報の収集機能
Promitorから取得したresource_uriラベルにリソースの名称が含まれるため,Prometheus設定ファイル(jpc_prometheus_server.yml)で,jp1_pc_nodelabelにリラベルする必要があります。
また,タグ付けが不要なため,Promitor Resource Discoveryを利用した場合,デフォルトの設定では,すべてのリソースが取得されます。取得するリソースを絞り込みたい場合は,Promitorの設定ファイルで,取得対象を指定してください。
監視対象の変更方法については,マニュアル「JP1/Integrated Management 3 - Manager 構築ガイド」で,「10.1.2(6)Promitorのセットアップ」の「(d)取得対象の設定(必須)」を参照してください。
-
ユーザー独自のPrometheusによるコンテナ監視機能
各メトリクスの特定のラベルにリソースの名称が含まれるため,Prometheus設定ファイル(jpc_prometheus_server.yml)で,jp1_pc_nodelabelにリラベルする必要があります。
また,タグ付けが不要なため,デフォルトの設定では,すべてのリソースが取得されます。取得するリソースを絞り込みたい場合は,Prometheus設定ファイル(jpc_prometheus_server.yml)で,取得対象を指定してください。
監視対象の変更方法については,マニュアル「JP1/Integrated Management 3 - Manager 構築ガイド」で,「10.1.2(7)コンテナ監視のセットアップ」の「(e)取得対象の設定(オプション)」を参照してください。
(a) ターゲットとなる構成情報のSIDの種類と使用できる機能
IMエクスポーターの製品プラグインが作成するIM管理ノードに対応する構成情報のSIDの形式は,監視対象に応じて異なります。監視対象ごとの構成情報のSIDの種類と使用できる機能を,次に示します。
構成情報のSIDの種類 |
説明 |
使用できる機能 |
|
---|---|---|---|
ホスト |
AzureVMホストSID |
AzureのVMとして存在するホストのSIDです。 |
なし |
Platformカテゴリ |
AzureVMのAzureMonitorSID |
AzureVMの監視対象のSIDです。 Promitorで監視している場合,監視対象のAzureのVMにインスタンスが存在,かつ,メトリック定義ファイルにVMのメトリックを記述しているときは,このIM管理ノードを作成します。VMのインスタンスを監視するアラートに対応するJP1イベントは,このIM管理ノードに登録します。 |
トレンド情報の表示,関連ノードのプロパティ表示 |
オブジェクトルートノード |
AzureVM以外のAzureMonitorSID |
AzureVM以外の監視対象のSIDです。 Promitorで監視している場合,監視対象のAzureのVM以外にインスタンスが存在,かつ,メトリック定義ファイルにそのリソースを監視するメトリックを記述しているときは,このIM管理ノードを作成します。リソースのインスタンスを監視するアラートに対応するJP1イベントは,このIM管理ノードに登録します。 |
トレンド情報の表示,関連ノードのプロパティ表示 |
KubernetesのSID |
Kubernetesの監視対象のSIDです。 Prometheusと連携している場合,監視対象にリソースが存在,かつ,メトリック定義ファイルにそのリソースを監視するメトリックを記述しているときは,このIM管理ノードを作成します。 |
トレンド情報の表示,関連ノードのプロパティ表示 |
(b) プロパティ表示
JP1/IM - Managerの統合オペレーション・ビューアーのノード詳細領域に,IMエクスポーターの製品プラグインが作成するIM管理ノードのプロパティを表示します。
IMエクスポーターの製品プラグインが作成するIM管理ノードのプロパティとして設定する値を,次に示します。なお,ここに記載しないSIDにはプロパティを設定しません。
構成情報のSIDの種類 |
プロパティ名 |
||||||
---|---|---|---|---|---|---|---|
Prometheusのホスト名 |
スクレイプジョブ名 |
Exporter名 |
Prometheusトレンド名 |
Module |
アカウント |
||
メンバー名 |
jp1_pc_prome_hostname |
job |
jp1_pc_exporter |
jp1_pc_trendname |
module |
account |
|
ホスト |
AzureVMホストSID |
− |
− |
− |
− |
− |
− |
Platformカテゴリ |
AzureVMのAzureMonitorSID |
"Prometheusのホスト名" |
"スクレイプジョブ名" |
"jp1_pc_exporterの値" |
"jp1_pc_trendnameの値" |
||
オブジェクトルートノード |
AzureVM以外のAzureMonitorSID |
"スクレイプジョブ名" |
"jp1_pc_exporterの値" |
"jp1_pc_trendnameの値" |
|||
KubernetesのSID |
"jp1_pc_moduleの値" |
- (凡例)
-
−:該当なし
表12‒7 IMエクスポーターが作成するIM管理ノードのプロパティ表示(その2) 構成情報のSIDの種類
プロパティ名
リージョン
AWS名前空間
テナント
サブスクリプション
リソースグループ
Azureサービス
メンバー名
region
cloud_srv
tenant
subscription
resource_group
cloud_srv
ホスト
AzureVMホストSID
−
−
"テナント文字列"
"サブスクリプション文字列"
"リソースグループ名"
−
Platformカテゴリ
AzureVMのAzureMonitorSID
"テナント文字列"
"サブスクリプション文字列"
"リソースグループ名"
"Azureサービス名"
オブジェクトルートノード
AzureVM以外のAzureMonitorSID
KubernetesのSID
−
−
−
−
- (凡例)
-
−:該当なし
(c) 構成情報のSIDの形式
IMエクスポーターの製品プラグインが作成するIM管理ノードに対応する構成情報のSIDの形式を,次に示します。
URLエンコードした文字列が255を超える場合は,ターゲットとなる構成情報のSIDの構造化IDを分割します。255文字目までを構造化IDの名称に設定し,残りの文字列を下位の構造化IDの名称に設定します。
構成情報のSIDの種類 |
SIDの形式 |
|
---|---|---|
ホスト |
AzureVMホストSID |
_JP1PC-IMB_統合エージェント管理基盤のホスト名/_JP1PC-M_Pホスト名/_JP1PC-AHOST_Eホスト名/_HOST_jp1_pc_nodelabel |
Platformカテゴリ |
AzureVMのAzureMonitorSID |
_JP1PC-IMB_統合エージェント管理基盤のホスト名/_JP1PC-M_Pホスト名/_JP1PC-AHOST_Eホスト名/_JP1PC-RM_jp1_pc_remote_monitor_instance/_HOST_jp1_pc_nodelabel/_JP1PC-A_Promitor |
オブジェクトルートノード |
AzureVM以外のAzureMonitorSID |
_JP1PC-IMB_統合エージェント管理基盤のホスト名/_JP1PC-M_Pホスト名/_JP1PC-AHOST_Eホスト名/_JP1PC-RM_jp1_pc_remote_monitor_instance/_JP1PC-Azureサービス名_jp1_pc_nodelabel |
KubernetesのSID |
_JP1PC-IMB_統合エージェント管理基盤のホスト名/_JP1PC-M_Pホスト名/_JP1PC-コンポーネント名_jp1_pc_nodelabel |
- Pホスト名
-
Prometheus serverがセットアップされているホストのホスト名を,URLエンコードした文字列です。
- Eホスト名
-
Exporterがセットアップされているホストのホスト名を,URLエンコードした文字列です。
- jp1_pc_nodelabel
-
Prometheus設定ファイル(jpc_prometheus_server.yml)のscrape_configsまたはmetrics_scrape_configsで,jp1_pc_nodelabelに設定している値をURLエンコードした文字列です。EC2ホストSID,EC2のCloudWatchSID,EC2以外のCloudWatchSIDの場合,AWSのリソースのjp1_pc_nodelabelに設定した値をURLエンコードした文字列です。
- jp1_pc_remote_monitor_instance
-
ディスカバリ設定ファイルで,jp1_pc_remote_monitor_instanceに設定している値の「:」(コロン)より後ろの文字列をURLエンコードした文字列です。relabel_configsでjp1_pc_remote_monitor_instanceの値を変更している場合は,変更後の値をURLエンコードした文字列です。
- Azureサービス名
-
Azure監視のメトリック定義ファイルで,cloud_srvメンバーに指定した値です。
- コンポーネント名
-
コンテナ監視のメトリック定義ファイルで,moduleメンバーに指定した値です。
(d) 監視対象ごとのIM管理ノード
IMエクスポーターの監視対象の種類に応じて,作成するIM管理ノードが異なります。監視対象ごとのIM管理ノードの作成可否を,次に示します。
構成情報のSIDの種類 |
監視対象ごとのIM管理ノードの作成可否 |
|||||
---|---|---|---|---|---|---|
Azure |
プロセス |
UAP |
コンテナ |
ログメトリクス(ユーザー独自のExporterに準拠) |
||
ホスト |
PrometheusホストSID |
〇 |
〇 |
〇 |
〇 |
〇 |
エージェントホストSID |
− |
〇 |
〇 |
〇 |
〇※ |
|
リモート監視ホストSID |
〇 |
− |
− |
〇 |
〇※ |
|
EC2ホストSID |
− |
− |
− |
− |
− |
|
AzureVMホストSID |
〇 |
− |
− |
− |
− |
|
Management Applicationsカテゴリ |
PrometheusSID |
〇 |
〇 |
〇 |
〇 |
〇 |
AlertmanagerSID |
〇 |
〇 |
〇 |
〇 |
〇 |
|
エージェントサービスSID |
〇 |
〇 |
〇 |
〇 |
〇※ |
|
リモート監視サービスSID |
− |
− |
− |
〇 |
〇※ |
|
統合エージェントのカテゴリ |
エージェントSID |
− |
〇 |
〇 |
〇 |
〇※ |
リモートエージェントSID |
− |
− |
− |
− |
〇※ |
|
Platformカテゴリ |
EC2のCloudWatchSID |
− |
− |
− |
− |
− |
AzureVMのAzureMonitorSID |
〇 |
− |
− |
− |
− |
|
オブジェクトルートノード |
EC2以外のCloudWatchSID |
− |
− |
− |
− |
− |
AzureVM以外のAzureMonitorSID |
〇 |
− |
− |
− |
− |
|
KubernetesのSID |
− |
− |
− |
〇 |
− |
- (凡例)
-
〇:IM管理ノードを作成する
−:IM管理ノードを作成しない
- 注※
-
Prometheus設定ファイル(jpc_prometheus_server.yml)で指定する内容に応じて,作成する場合と作成しない場合があります。
(e) ツリーの形式
JP1/IM - Managerの統合オペレーション・ビューアーのツリーに表示する内容は,IMエクスポーターの監視対象の種類に応じて異なります。
JP1/IM - Managerの統合オペレーション・ビューアーでは,IMエクスポーターの製品プラグインが作成するIM管理ノードは,次に示すツリーで表示されます。
All Systems ├ BizSystem │ ├ 統合マネージャーホスト名 │ │ └ Management Applications │ │ └ Azure metric collector(Promitor)※1 │ ├ 監視対象ホスト名 │ │ ├ Management Applications │ │ │ ├ Linux process metric collector(Process exporter)※2 │ │ │ └ Script metric collector(Script exporter)※2 │ │ ├ Platform │ │ │ └ jp1_pc_nodelabelの値※3 │ │ └ jp1_pc_categoryで指定したカテゴリ※4 │ │ └ jp1_pc_nodelabelの値※5 │ ├ AWS上のホストのホスト名※6 │ │ └ Platform │ │ └ Yet another cloudwatch exporter │ └ Azure上のホストのホスト名※7 │ └ Platform※8 │ └ Promitor※9 ├ Amazon Simple Storage Service │ └ ストレージ名※10 │ : ├ Kubernetes │ ├ Clusters │ │ └ クラスタ名※11 │ ├ Namespaces │ │ └ Namespace名※11 │ ├ DaemonSets │ │ └ DaemonSet名※11 │ ├ StatefulSets │ │ └ StatefulSet名※11 │ ├ ReplicaSets │ │ └ ReplicaSets名※11 │ ├ CronJobs │ │ └ CronJob名※11 │ │ Pods │ │ └ Pod名※11 │ └ Nodes │ └ ノード名※11 ├ Azure Kubernetes Service │ └ クラスタ名※12 │ : └ システム名 └ リソース名 |
- 注※1
-
リモート監視サービスSIDを示します。
- 注※2
-
エージェントサービスSIDを示します。
- 注※3
-
エージェントSIDを示します。
- 注※4
-
カテゴリ(ユーザー独自のExporter,Script exporter,ログメトリクス)を示します。
- 注※5
-
エージェントSID(ユーザー独自のExporter,Script exporter,ログメトリクス)を示します。
- 注※6
-
EC2ホストSIDを示します。
ラベルには,メトリクスのjp1_pc_nodelabelに設定されている文字列が表示されます。
- 注※7
-
AzureVMホストSIDを示します。
ラベルには,メトリクスのjp1_pc_nodelabelに設定されている文字列が表示されます。
- 注※8
-
カテゴリを示します。
- 注※9
-
AzureVMのAzureMonitorSIDを示します。
- 注※10
-
EC2以外のCloudWatchSIDを示します。
EC2以外のIM管理ノードの場合,「JP1CS-AWS名前空間名」をオブジェクトルートノード種別としたオブジェクトルートノードを作成します。
ラベルには,メトリクスのjp1_pc_nodelabelに設定されている文字列が表示されます。AWSのjp1_pc_nodelabelタグに文字列が設定されている場合は,メトリクスのjp1_pc_nodelabelにも設定されます。
- 注※11
-
KubernetesのSIDを示します。
「JP1CS-コンポーネント名」をオブジェクトルートノード種別としたオブジェクトルートノードを作成します。
クラスタ以外のコンポーネントの場合,ラベルには,メトリクスのjp1_pc_nodelabelに設定されている文字列が表示されます。
クラスタは,メトリクスにjp1_pc_prome_clusternameが存在する場合にIM管理ノードが表示されます。ラベルにはjp1_pc_prome_clusternameに設定されている文字列が表示されます。
- 注※12
-
AzureVM以外のAzureMonitorSIDを示します。
VM以外のIM管理ノードの場合,「JP1CS-Azureサービス名」をオブジェクトルートノード種別としたオブジェクトルートノードを作成します。
ラベルには,メトリクスのjp1_pc_nodelabelに設定されている文字列が表示されます。
(2) 関連の作成(__createLinkメソッド)
__createLinkメソッドは,jddcreatetreeコマンドの実行時に呼び出され,ノード間の関連情報を返却します。返却した関連情報に基づき,統合オペレーション・ビューアーの[関連ノード]タブで,関連線が表示されます。
ユーザー独自のPrometheusによるコンテナ監視機能のためのプラグインでは,このメソッドを実装し,トレンドデータ管理DBに保存されているサンプルから関連情報を生成します。生成される関連情報を次に示します。
from |
to |
関連タイプ |
||
---|---|---|---|---|
SIDの種類 |
オブジェクトルートノード種別 |
SIDの種類 |
オブジェクトルートノード種別 |
|
KubernetesのSID※1 |
JPC-KUBERNETES-CLUSTER |
KubernetesのSID※1 |
JPC-KUBERNETES-NODE |
containerCluster |
JPC-KUBERNETES-CLUSTER |
JPC-KUBERNETES-NAMESPACE |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-DEPLOYMENT |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-REPLICASET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-STATEFULSET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-DAEMONSET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-CRONJOB |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-DEPLOYMENT |
JPC-KUBERNETES-REPLICASET |
|||
JPC-KUBERNETES-REPLICASET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-STATEFULSET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-DAEMONSET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-NODE |
エージェントSID※2 |
HOST |
sameNode |
- 注※1
-
「12.5.1(1)IM管理ノードの作成(__configurationGetメソッド)」の「(a)ターゲットとなる構成情報のSIDの種類と使用できる機能」を参照してください。
- 注※2
-
JP1/IM - Agentの「9.5.1(1)IM管理ノードの作成」の「(a)ターゲットとなる構成情報のSIDの種類と使用できる機能」を参照してください。
(3) メトリック一覧の返却(__metricListGetメソッド)
基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「メトリック一覧の返却」と同じです。
メトリックの一覧として返却する内容だけが固有の仕様となります。
-
Azure Monitorの性能情報の収集機能
Promitorのメトリック定義ファイル(metrics_promitor.conf)に設定されているcloud_srvの値と,IM管理ノードのAzureサービス名※が一致するメトリックの一覧を返却します。
-
ユーザー独自のPrometheusによるコンテナ監視機能
コンテナ監視のメトリック定義ファイル(metrics_kubernetes.conf)に設定されているcomponentの値と,IM管理ノードのコンポーネント名※が一致するメトリックの一覧を返却します。
- 注※
-
JP1/IM - Managerの統合オペレーション・ビューアーのプロパティで確認できます。
(4) トレンドデータの返却(__timeSeriesDataGetメソッド)
基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「トレンドデータの返却」と同じです。
Azure Monitorの性能情報の収集機能の製品プラグインでは,次に示すラベルが,返却するインスタンス名から除外される点だけが固有の仕様となります。
-
resource_uri※1
-
subscription_id※1
-
resource_group※1
-
instance_name※1
-
tenant_id※1
-
jp1_pc_prome_clustername※2
- 注※1
-
Promitorで使用するラベルです。
- 注※2
-
コンテナ監視で使用するラベルです。
(5) JP1イベントの作成(__transformEventメソッド)
基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「JP1イベントの作成」と同じです。
(a) パフォーマンスデータを監視して発行するJP1イベントの属性
パフォーマンスデータを監視して,アラートの異常条件を満たしたとき,または,満たさなくなったときに発行するJP1イベントの属性に設定される値を,次に示します。属性は,次に示すもの以外はJP1/IM - Agentと共通です。JP1/IM - Agentの属性については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「3.2.3(1) パフォーマンスデータを監視して発行するJP1イベントの属性」を参照してください。それ以外の属性の値については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」で,「5.6.4 イベント発行」のAPIの説明を参照してください。
分類 |
項目名 |
属性名 |
説明 |
---|---|---|---|
拡張属性(共通情報) |
発生元ホスト名 |
JP1_SOURCEHOST |
Promitorのパフォーマンスデータを判定したアラートかどうかによって,設定値が異なります。
|
拡張属性(固有情報) |
Azure サービス名 |
JPC_AZURE_SERVICE |
Azureのサービス名 Promitorのパフォーマンスデータの場合だけ設定します。 アラート設定ファイル(jpc_alerting_rules.yml)の項目「jp1_pc_metricname」に設定したメトリック名に対応するサービス名を,メトリック定義ファイルから探索して設定します。 |
Azure テナント名 |
JPC_AZURE_TENANT |
Azureのテナント文字列 Azureのパフォーマンスデータの場合だけ設定します。 プロパティ表示文字列定義ファイルに記述したAzureのテナントIDに対応する文字列です。定義が存在しない場合は「default」を設定します。 |
|
Azure サブスクリプション名 |
JPC_AZURE_SUBSCRIPTION |
Azureのサブスクリプション文字列 Azureのパフォーマンスデータの場合だけ設定します。 プロパティ表示文字列定義ファイルに記述したAzureのIDに対応する文字列です。定義が存在しない場合は「default」を設定します。 |
|
Azure リソースグループ名 |
JPC_AZURE_RESOURCEGROUP |
Azureのリソースグループ名 Azureのパフォーマンスデータの場合だけ設定します。 |
- 注
-
すべての拡張属性値の合計の長さの上限は10,000バイトです。
(6) JP1イベントに対応するSIDの返却(__eventGetメソッド)
基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「JP1イベントに対応するSIDの返却」と同じです。
次に示すJP1イベントの関連付けを行う条件だけが固有の仕様となります。
SIDの種類 |
関連付けを行う条件 |
製品プラグイン |
---|---|---|
AzureVMのAzureMonitorSID |
コンポーネント名がAzure Monitor性能情報収集機能のためのプラグイン名で,Azureサービス名が「Virtualmachine」のパフォーマンスデータを監視して発行されたJP1イベント |
Azure Monitorの性能情報の収集機能のためのプラグイン |
AzureVM以外のAzureMonitorSID |
コンポーネント名がAzure Monitor性能情報収集機能のためのプラグイン名で,Azureサービス名が「Virtualmachine」,「KubernetesService」以外のパフォーマンスデータを監視して発行されたJP1イベント |
|
KubernetesのSID |
コンポーネント名がユーザー独自のPrometheusによるコンテナ監視機能のためのプラグイン名のパフォーマンスデータ,または,コンポーネント名がAzure Monitor性能情報収集機能のためのプラグイン名で,Azureサービス名が「KubernetesService」のパフォーマンスデータを監視して発行されたJP1イベント |
ユーザー独自のPrometheusによるコンテナ監視機能のためのプラグイン |
(7) JP1イベントの拡張属性対応
IMエクスポーターの製品プラグインは,次に示す統合エージェント用のイベント拡張属性定義ファイルを同梱し,IMエクスポーターが発行するJP1イベントの属性を,JP1/IM - Managerの[イベント詳細]画面に表示します。
(a) ファイル名
-
hitachi_jp1_pccs2_alert_attr_ja.conf(日本語)
-
hitachi_jp1_pccs2_alert_attr_en.conf(英語)
(b) 属性
属性名 |
項目 |
|
---|---|---|
日本語 |
英語 |
|
E.JPC_AZURE_SERVICE |
Azureサービス名 |
Azure service name |
E.JPC_AZURE_TENANT |
Azureテナント名 |
Azure tenant name |
E.JPC_AZURE_SUBSCRIPTION |
Azureサブスクリプション文字列 |
Azure subscription name |
E.JPC_AZURE_RESOURCEGROUP |
Azureリソースグループ名 |
Azure resource group name |
IMエクスポーターが発行するJP1イベントの属性の詳細については,「12.5.1(5)(a)パフォーマンスデータを監視して発行するJP1イベントの属性」を参照してください。