CA Automic の統合

Automic Service Orchestration と組み合わせた CA Digital Experience Insights / UIM Automic では、パフォーマンス、容量、設定の問題などの複雑な IT 問題を解決できる予測分析を提供して、(ユーザに影響を与える前に)プロアクティブに検出して自動的に修復します。
uim902-9-0-2
HID_Automic_Integration
Automic Service Orchestration と組み合わせた CA Digital Experience Insights / UIM Automic では、パフォーマンス、容量、設定の問題などの複雑な IT 問題を解決できる予測分析を提供して、(ユーザに影響を与える前に)プロアクティブに検出して自動的に修復します。
CA UIM と CA Automic の統合は、UIM アラームを Webhook を使用して Automic エンドポイント(messagegtw プローブで設定)にパブリッシュする messagegtw プローブを使用して実現されます。
CA UIM でディスク フル警告のアラームが発生すると、そのメッセージが Automic に渡されます。ここで特定のジョブが実行され、ディスク ディレクトリのキャッシュがクリアされます。Automic へ送信されるメッセージ/アラームに含まれるその他のパラメータを CA UIM で定義または設定することもできます。
Webhook を使用して外部アプリケーションに CA UIM アラームをパブリッシュするには、CA Unified Infrastructure Management messagegtw (メッセージ ゲートウェイ)プローブが使用されます。Webhook は、HTTP POST を使用した外部アプリケーションへのシンプル通知メッセージです。CA UIM の Webhook はアラームの発生に基づいてトリガされます。
エンドポイントに messagegtw を設定する基本ワークフロー
messagegtw の設定
Configure messagegtw
目次
4
概要
NAS にイベントが発生すると、それがハブのキューにパブリッシュされます。messagegtw プローブは、ハブで作成されたキューを介して NAS のメッセージおよびアラームをリスンします。また、messagegtw プローブで同じキューを設定する必要があります。messagegtw プローブは URL への HTTP リクエストを Webhook に設定し、設定された Webhook にメッセージをポストします。
プライマリ ハブ、セカンダリ ハブまたはロボットにこのプローブを展開できます。メッセージとアラームを messagegtw から受信する複数の Webhook の設定を選択できます。
NAS Auto Operator GUI は拡張されており、Webhook をサポートするようになりました。新しいアクション タイプ「Webhook」は、messagegtw のインスタンスの実行に使用し、特定の Webhook を参照する Auto-Operator の作成ができるように設定された Webhook または送信 REST 統合を確認するために、このプローブへのコールバックを呼び出します。
複数のプローブをご使用の環境に応じてハブやロボットに設定できるように、このプローブは messagegtw の複数インスタンスをサポートします。このため、Webhook 用に NAS で Auto-Operator プロファイルを作成し、アラームをフィルタし、messagegtw プローブが展開されているロボットまたはハブのディレクトリ パスを指定して、パブリッシュ先の messagegtw の特定のインスタンスへパブリッシュできます。
NAS で Auto-Operator プロファイルを作成する必要があります。これを使用して messagegtw を介してパブリッシュするアラームとメッセージをフィルタできます。詳細については、NAS Auto-Operator プロファイルの「Webhook」アクション タイプを参照してください。
messagegtw プローブ GUI を使用すると、Webhook を設定して、NAS と messagegtw フィールドをマップできます。追加したメッセージは、Webhook に送信されます。messagegtw GUI では、リスナは messagegtw プローブをリスンする Webhook です。リスナの下に複数のプロファイルを作成できます。作成したリスナ プロファイルはすべて messagegtw プローブをリスンします。
前提条件
  • プライマリ ハブに NAS を展開します。
    プライマリ ハブに Webhook 用の NAS Auto-Operator を展開し、Webhook Auto Operator プロファイルを設定する必要があります。data_engine プローブはプライマリ ハブにあるため、この操作をプライマリ ハブで実行する必要があります。
ハブの attach キューの作成
CA UIM コンポーネントは、キューを使用してメッセージを渡します。ハブに attach キューを作成して、メッセージを messagegtw から設定済み Webhook へパブリッシュします。
以下の手順に従います。
  1. ロボットで、ハブのプローブ設定を開き、[
    キュー リスト
    ]に移動します。
  2. [キュー リスト設定]テーブルで、[
    新規
    ]をクリックします。
  3. 以下の必須情報を指定します。
    • キュー名
      - わかりやすい一意の名前を入力します。操作性を確保するために、件名とほぼ同じ名前か、または同一の名前を使用します。mesagegtw プローブに Webhook を設定する場合に、キュー名を指定します。
      attach キュー作成時に指定するキュー名は、
      [messagegtw 設定]
      -
      [Webhook]-[キュー名]
      フィールドで指定したキュー名と同じにします。
    • アクティブ
      - すぐに使用するキューに[
      アクティブ
      ]を選択します。
    • タイプ
      - [
      attach
      ]を選択します。
    • ハブ アドレス
      (get キュー)- 対応する attach キューのあるハブのアドレス。
    • 件名
      (attach キュー) - 件名 probe_messagegtw を入力します。
プローブを再起動して変更内容を有効にするように求めるダイアログ ボックスが表示されます。ハブ プローブを再起動するには、[はい]をクリックします。
messagegtw プローブの設定
プローブをインストールした後に、messagegtw プローブのアドミン コンソールを使用してプローブ セットアップを設定します。
以下の手順に従います。
  1. プライマリ/セカンダリ ハブまたはロボットに
    messagegtw
    プローブを展開します。
  2. [プローブ]タブで、
    messagegtw
    プローブを選択し、[
    設定
    ]を選択します。
    デフォルトのプローブ情報が表示されます。
  3. (オプション)[プローブ設定]セクションで、ログ レベルを指定して[
    保存
    ]をクリックします。デフォルトのログ レベルは 1 です。
    : 正常な動作ではディスク消費を最小限に抑えるためログの量をできるだけ少なくし、デバッグ時には詳細のレベルを高くします。
  4. Webhook
    ]-[
    オプション
    ]-[
    Clone (クローン)
    ]を選択します。デフォルトまたはサンプルの設定に基づいてカスタムの Webhook 設定を作成することをお勧めします。
  5. サブミット
    ]をクリックして[
    閉じる
    ]をクリックします。
  6. EndPoint Details (エンドポイント詳細)
    ]セクションで[
    新規
    ]をクリックして新しいエンドポイントを設定し、以下のフィールドを指定します。
    サンプル値がクローン作成したプロファイルに表示されます。
    • URL:
      messagegtw によってメッセージがポストされる Webhook のエンドポイント URL を指定します。外部アプリケーションの API トークンからこの URL を取得します。
    • AUTH_METHOD:
      認証方式を指定します。[基本]または[なし]を選択できます。messagegtw では、基本認証のみをサポートします。認証が必要なサービスに Webhook をポストする場合は、https://my.example.com から https://username:[email protected] に URL を変更して、基本 HTTP 認証を使用します。
    • USER_NAME:
      エンドポイントのユーザ名を指定します。
    • PASSWORD:
      エンドポイントのパスワードを指定します。
    • (オプション)
      respkey
      =
      $.run_id
      。このキーを追加すると、ジョブ/チケット ID を取得してアラームに保存できます。
  7. Payload Mapping (ペイロード マッピング)
    ]セクションで、独自のペイロードを指定して、カスタム フィールドをペイロード リクエストに追加できます。ペイロードの例については、「ペイロードの例」を参照してください。アラームおよびコンピュータのシステム変数の完全なリストについては、「アラームおよびシステム変数」を参照してください。
    サポートされているペイロード タイプは application/json です。
  8. 新規
    ]を選択して、ペイロード マッピングを設定し、Webhook またはエンドポイント URL にポストするコンテンツを指定します。次の例のように、Mapping_key と Mapping_value を指定します。
    • タグ
      : 「#alarm」、「#cauim」、「#${message.prid}」など
    • 外部ユーザ名
      : 「CA UIM」など
    • コンテンツ
      : 「[${message.udata.severity}] ${cs.name}(${cs.ip}).${ci.description}.${ci.name}: ${message.udata.message}」など
  9. Webhook
    ]セクションにデフォルト値が表示されます。以下の必須フィールドをカスタマイズできます。
    • webhook name (Webhook 名)
      - Webhook の名前を指定します。
    • キュー名
      - messagegtw がサブスクライブするハブで作成したキューの名前を指定します。
    • attach キュー
      : True または False を指定します。デフォルトは True です。True の場合、キューは get キューに転送するためのメッセージを収集します。
    • send exclusive (限定送信)
      : True の場合、このオプションはメッセージを最初に設定したエンドポイント URL にパブリッシュします。False に設定すると、メッセージはすべての Webhook エンドポイントに同時に送信されます。デフォルト値は True です。
    • alert on failure (失敗時のアラート)
      : messagegtw が設定済み Webhook にパブリッシュできない場合は、アラートが生成されます。デフォルト値は True です。
    • バルク サイズ
      : messagegtw で処理される最大キュー サイズを指定します。デフォルト値は 10 です。
    • (オプション) hub_address
      : messagegtw がセカンダリ ハブに展開されている場合は、プライマリ ハブのアドレスを指定します。例:
      hub_add = /domain/primary_hub/robot/hub
  10. プローブを再起動する前に、サンプル Webhook を削除します。[
    Webhook
    ]-[
    オプション
    ]に移動して、[
    削除
    ]をクリックします。
  11. 設定の変更が完了したら、プローブを再起動します。
    messagegtw プローブは NAS から設定済みの Webhook へメッセージをパブリッシュするようになりました。
ペイロードの例
<payload>
content = "[${message.udata.severity}] ${cs.name}(${cs.ip}).${ci.description}.${ci.name}: ${message.udata.message}"
external_user_name = "CA_UIM"
tags = ["#alarm", "#cauim", "#${message.prid}"]
</payload>
アラームおよびシステム変数
独自のペイロードを指定してカスタム フィールドをペイロード リクエストに追加できます。以下のアラームおよびコンピュータのシステム変数を使用して、独自のカスタム ペイロードを指定します。
変数
タイプ
意味
rowid
整数
行 ID を示します。例: 1
event_type
整数
イベント タイプを示します。例: 16
nimid
文字列
アラーム メッセージ ID を示します。例: YP39028984-19824
nimts
整数
メッセージが最初に送信されたタイムスタンプを示します。例: 1534444449
arrival
整数
Nimsoft Alarm Server がアラームを受信したときのタイムスタンプを示します。例: 1534444450
severity
文字列
重大度レベルの名前を示します。例: クリティカル
level
整数
アラームの重大度レベルを示します。例: 5
prevlevel
整数
アラームの以前の重大度レベルを示します。例: 5
subsys
文字列
アラーム サブシステムを示すメッセージ テキスト。例: コントローラ
message
文字列
メッセージ テキストを示します。例: computer-8462 のコントローラからのテスト アラーム
source
文字列
アラームを送信したシステムの IP アドレスを示します。例: 10.131.144.22
hostname
文字列
アラームを送信したシステムのホスト名を示します。例: computer-8462
sid
文字列
Nimsoft Alarm Server のサブシステム ID を示します。例: 1.2.2.1
domain
文字列
ロボットが存在するドメインの名前を示します。例: computer-8462_domain
hub
文字列
ロボットが属するハブを示します。例: computer-8462_hub
nas
文字列
NAS が属するハブの名前を示します。例: computer-8462_hub
ロボット
文字列
アラームを送信したロボットの名前を示します。例: computer-8462
origin
文字列
ロボットが存在するハブのシステム名を示します。例: computer-8462_hub
prid
文字列
プローブ ID を示します。例: controller
supp_key
文字列
サプレッション キー(多くの場合、チェックポイントが含まれます)を示します。例: test_alarm
suppcount
整数
このアラームのサプレッション回数を示します。例: 43
supptime
整数
このメッセージの最終サプレッションのタイムスタンプを示します。例: 1536050909。
tz_offset
文字列
UTC と比較した秒単位の送信元システムのタイム ゾーン オフセットを示します。例: -19800
visible
ブール型
アカウント ユーザに対してアラームが非表示にされているかどうかを示します。
dev_id
テキスト
アラームの作成対象になったエンティティに関連付けられている IP アドレス指定が可能なデバイスの ID。
met_id
テキスト
存在する場合、アラームの作成対象になった、メトリクスの ID。
profile
テキスト
NAS Auto-Operator プロファイル名を示します。
aots
整数
Auto-Operator 実行タイムスタンプを示します。
webhook
テキスト
Webhook の名前を示します。
ci.caption
テキスト
設定可能な項目のキャプションを示します。
ci.name
テキスト
設定可能な項目の名前を示します。
ci.type
テキスト
設定可能な項目のタイプを示します。
ci.description
テキスト
設定可能な項目の説明を示します。
metric.description
テキスト
メトリクスの説明を示します。
metric.unit
テキスト
メトリクスの単位を示します。
device.id
テキスト
デバイスの一意の ID を示します。
device.ip
整数
デバイスの IP アドレスを示します。
device.name
テキスト
デバイスの名前を示します。
device.probe
テキスト
デバイス上のプローブの名前を示します。
cs.id
テキスト
コンピュータ システムの一意の ID を示します。
cs.key
テキスト
コンピュータ システムのキーを示します。
cs.dedicated
テキスト
コンピュータ システムが仮想か物理かを示します。
cs.state
テキスト
コンピュータ システムの状態を示します。アクティブは 1、非アクティブは 0
cs.name
テキスト
コンピュータ システムの名前を示します。
cs.domain
テキスト
コンピュータ システムが存在するドメインを示します。
cs.origin
テキスト
コンピュータ システムの発生元/テナントの詳細を示します。
cs.ip
テキスト
コンピュータ システムの IP アドレスを示します。
cs.os_type
テキスト
コンピュータ システムの OS のタイプを示します。例: UNIX/Windows
cs.os_name
テキスト
コンピュータ システムのオペレーティング システムの名前を示します。例: Linux、Cent/Ubuntu for UNIX、Windows
cs.os_version
テキスト
コンピュータ システムのオペレーティング システムのバージョンを示します。
cs.os_description
テキスト
コンピュータ システムのオペレーティング システムの説明を示します。
cs.maintenance
テキスト
コンピュータ システムがメンテナンス中かを示します。
Oracle データベースの場合、ci および cs のパラメータは大文字にする必要があります。たとえば、ci.name は Oracle データベースでは CI.NAME にする必要があります。
NAS Auto-Operator でプロファイルの定義
NAS IM
設定の[Auto-Operator
]タブで、重大度レベル、サブシステム ID、メッセージ文字列などの各種フィールド用の選択基準を含むプロファイルを使用して Auto-Operator を設定できます。アラーム イベントが選択条件やアクション時間をパスすると、アクションがトリガされます。
Auto-Operator によって、管理者はアラームを管理するときに、ルール(アラーム重大度、アラーム メッセージ テキスト、サブシステム ID)を照合して、アラームを個人またはグループに割り当て、特定のルールを満たしたときにメッセージ(電子メールまたはテキスト)を送信できます。Webhook 用の Auto-Operator にプロファイルを作成し、定義します。キューがポストされる messagegtw のインスタンスを指定します。
以下の手順に従います。
  1. ロボットで、IM NAS 設定を開いて、Auto-Operator に移動します。
  2. 新規
    ]を右クリックして、プロファイルを作成します。
    Webhook_AO.png
  3. 以下の必須フィールドを指定します。
    • アクション タイプ:
      Webhook
      ]を選択します(Auto-Operator は設定済み Webhook にメッセージを送信することを指定します)。
    • Path to Messagegtw Probe (Messagegtw プローブへのパス)
      - messagegtw プローブが展開および設定されたハブまたはロボットのパスを指定します。NAS Auto-Operator プロファイルは、ここで指定する messagegtw プローブのインスタンスにパブリッシュします。
    • Webhook Name
      - ドロップダウン リストから Webhook を選択します。Webhook は、messagegtw プローブの選択したインスタンスで設定された Webhook に基づいて、表示されます。
    • 件名
      - メッセージ キュー名を指定します。このフィールドは選択した Webhook に基づいて自動的に入力されます。
    • More Properties (その他のプロパティ)
      - messagegtw へ送信する追加のプロパティまたはメタデータを指定します。
CA UIM-Automic 統合のユース ケース
ユース ケース: UIM-Automic 統合による自己修復: ディスクをクリーンアップして、DB のクラッシュを防止します。
CA UIM でアラームが設定されており、サーバの空きディスク容量が事前設定のしきい値未満になっていることを示しています。ディスク領域が不足しているため、アプリケーションとデータベースは正常稼働を停止し、OS もクラッシュしてサービス中断が発生する可能性があります。このようなアラームに対処するには、ビジネスに影響しないように、事前に Automic でディスクのクリーンアップを実行します。
前提条件
  • ホスト マシンは、UIM によってモニタされており、WA に Automic が展開されています。
  • ターゲット システムの指定したディスク ディレクトリのキャッシュをクリアするために、Automic に新しいジョブ オブジェクト タイプを作成します。
ジョブをターゲット システムの処理手順の定義に使用します。グループまたはワークフロー内で独立して使用できます。
スクリプトは、オブジェクト タイプ「ジョブ」で指定された方法で処理されます。JCL (ジョブ制御言語)とスクリプト要素に従って、実行可能なジョブはターゲット システムごとに生成され、ファイル転送を使用して送信されます。AE スクリプト(存在する場合)と JCL 行が処理され、その後に JCL はターゲット システムに送信されます。AE スクリプトがターゲット システムに送信されることはありません。
CA UIM でディスク フル警告のアラームが発生すると、そのメッセージが Automic に渡されます。ここで特定のジョブが実行され、ディスク ディレクトリのキャッシュがクリアされます。Automic へ送信されるメッセージ ペイロードに含まれるその他のパラメータを CA UIM で定義または設定することもできます。CA UIM で、ディスク フル アラームが生成されると、messagegtw はアラームを生成した UIM 変数を Automic のフィールド名にマッピングする POST リクエストを送信します。Automic ジョブ ID が返信されます。CA UIM は OC の[URL アクションの編集]を使用して、このジョブ ID をアラームにアタッチします。Automic でジョブ ID をトリガするために、OC から[URL アクションの起動]を実行します。Automic では、ターゲット システムの指定したディスクのキャッシュをクリアするジョブが実行されます。
例: メッセージを Automic に送信するための URL とペイロード
http://hostname-a15090:8088/ae/api/v1/100/executions
以下の json 形式が Automic でサポートされます。
{
"object_name"
:"JOBP.DISK_SPACE",
"inputs"
:{
"DISK#"
:"C",
"DNSNAME#"
:"domain.name.xx",
"IP#"
:"10.0.0.1"
}
Automic ジョブ オブジェクトのフィールド名の CA UIM 変数へのマッピングが必要になる場合があります。
CA Automic
CA UIM
DISK
ディスク ディレクトリを指定します。
ci.name
設定可能な項目の名前を示します。
DNSNAME
ドメイン ネーム サーバ名を指定します。
cs.name
コンピュータ システムの名前を示します。
IP
ディスク容量をモニタしているターゲット システムの IP アドレスを指定します。
cs.ip
コンピュータ システムの IP アドレスを示します。
フィールドと変数のマッピングをしたら、以下のペイロードの例を使用します。
<payload>
object_name = "JOBP.DISK_SPACE"
inputs = {"DISK#" : "${ci.name}", "DNSNAME#" : "${cs.name}", "IP#" : "${cs.ip}"}
</payload>
予期される応答は、
Custom 1
=
url_field
Custom 2
=
run_id_field
です。これらは、正常な POST リクエスト時に messagegtw 設定に追加されます。
Automic のジョブのステータスを取得するには、run_id が返された場合、以下の手順に従います。
USM Actions.png
  1. OC でモニタ対象デバイスを選択してから、
    [アクション]
    -
    [URL アクションの編集]
    を選択します。
  2. デフォルトでは、Custom_1 と Custom_2 フィールドは、url_field と run_id_field を返します。新規 URL アクションの
    名前
    を指定し、
    [保存]
    をクリックします。
  3. Automic のジョブのステータスを確認するには、選択したデバイスの
    [URL アクションの起動]
    ボタンをクリックします。 
[URL アクションの起動]-[名前]([URL アクションの編集]で指定)を使用した、ジョブ ID のステータスの応答例。
{
"name" : "JOBP.DISK_SPACE",
"type" : "JOBP",
"run_id" : 1934790,
"status" : 1900,
"status_text" : "ENDED_OK - ended normally",
"runtime" : 0,
"activation_time" : "2018-09-24T22:42:59Z",
"start_time" : "2018-09-24T22:43:00Z",
"end_time" : "2018-09-24T22:43:00Z",
"parent" : 0,
"user" : "AUTOMIC/AUTOMIC",
"estimated_runtime" : 1,
"alias" : "JOBP.DISK_SPACE"
}