Hitachi

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


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上でのタグ付けは不要です。

(a) ターゲットとなる構成情報のSIDの種類と使用できる機能

IMエクスポーターの製品プラグインが作成するIM管理ノードに対応する構成情報のSIDの形式は,監視対象に応じて異なります。監視対象ごとの構成情報のSIDの種類と使用できる機能を,次に示します。

表12‒5 監視対象ごとの構成情報の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にはプロパティを設定しません。

表12‒6 IMエクスポーターが作成するIM管理ノードのプロパティ表示(その1)

構成情報の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の製品プラグインの「メトリック一覧の返却」と同じです。

メトリックの一覧として返却する内容だけが固有の仕様となります。

注※

JP1/IM - Managerの統合オペレーション・ビューアーのプロパティで確認できます。

(4) トレンドデータの返却(__timeSeriesDataGetメソッド)

基本的な機能の仕様は,JP1/IM - Agentの製品プラグインの「トレンドデータの返却」と同じです。

Azure Monitorの性能情報の収集機能の製品プラグインでは,次に示すラベルが,返却するインスタンス名から除外される点だけが固有の仕様となります。

注※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の説明を参照してください。

表12‒8 パフォーマンスデータを監視して発行するJP1イベントの属性一覧

分類

項目名

属性名

説明

拡張属性(共通情報)

発生元ホスト名

JP1_SOURCEHOST

Promitorのパフォーマンスデータを判定したアラートかどうかによって,設定値が異なります。

  • Promitorの場合

    VirtualMachineのメトリックのパフォーマンスデータである場合,Prometheus設定ファイルでjp1_pc_nodelabelラベルに設定されている値を発生元ホスト名として設定します。

    VirtualMachine以外のメトリックである場合,またはjp1_pc_nodelabelタグに値が設定されていない場合,instanceラベルの値の「:」(コロン)より前の文字列(Promitorのディスカバリ設定ファイルの項目「targets」に設定した統合エージェントホスト名)を,発生元ホスト名として設定します。

  • Promitor以外の場合

    ディスカバリ設定ファイルの項目「targets」に設定されている監視対象ホスト名を,発生元ホストとして設定します。

注※

instanceのラベルの値は,ディスカバリ設定ファイルのtargetsに指定した値です。

拡張属性(固有情報)

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イベントの関連付けを行う条件だけが固有の仕様となります。

表12‒9 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イベントの属性」を参照してください。