Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス


11.3.2 導入(AWS Lambda連携ツール(JP1/IM REST対応版))

〈この項の構成〉

(1) 事前準備

AWS Lambda連携ツール(JP1/IM REST対応版)を導入するための事前準備は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。

11.2.2(1) 事前準備」を参照してください。

(2) インストール

(a) イベント情報の作成

イベント情報を作成します。

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「Lambda」−「関数」を選択します。

  3. 「関数の作成」をクリックします。

  4. 「一から作成」を選択し,次の情報を入力します。「関数の作成」をクリックします。

    表11‒22 イベント情報作成の基本的な情報

    項番

    項目

    1

    関数名

    sendevent_sqs_im2

    2

    ランタイム

    Python3.7

    3

    アクセス権限

    次の権限を持つロールを指定します。

    • CloudWatch Logsに書き込み可能なアクセス権限※1

    • S3のファイルを読み込み可能なアクセス権限※2

    • SQSに書き込み可能なアクセス権限※3

    注※1

    CloudWatch Logsへのアクセスに必要なポリシーは次のとおりです。

    ・CreateLogGroup

    ・CreateLogStream

    ・PutLogEvents

    注※2

    S3へのアクセスに必要なポリシーは次のとおりです。

    ・GetObject

    注※3

    SQSへのアクセスに必要なポリシーは次のとおりです。

    ・SendMessage

  5. 「Lambda」−「関数」−「sendevent_sqs_im2」−「設定」タブを選択します。

  6. 「関数コード」に次の表に示す情報を入力します。

    表11‒23 イベント情報作成の関数コード

    項番

    項目

    1

    コードエントリタイプ

    .zipファイルをアップロード

    −「sendevent_im2」ディレクトリの「sendevent_sqs_im2.zip」を選択

    2

    ランタイム

    Python3.7

    3

    ハンドラ

    sendevent_sqs_im2.lambda_handler

  7. 「保存」をクリックします。

(b) イベント情報送信の作成

AWS Lambda連携ツール(イベント情報送信)を作成します。

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「Lambda」−「関数」を選択します。

  3. 「関数の作成」をクリックします。

  4. 「一から作成」を選択し,次の情報を入力します。「関数の作成」をクリックします。

    表11‒24 イベント情報送信の基本的な情報

    項番

    項目

    1

    関数名

    sendevent_im2

    2

    ランタイム

    Python3.7

    3

    アクセス権限

    次の権限を持つロールを指定します。

    • CloudWatch Logsに書き込み可能なアクセス権限※1

    • S3のファイルを読み込み可能なアクセス権限※2

    • SQSのメッセージを削除可能なアクセス権限※3

    • VPCに接続可能なアクセス権限※4

    注※1

    CloudWatch Logsへのアクセスに必要なポリシーを次に示します。

    ・CreateLogGroup

    ・CreateLogStream

    ・PutLogEvents

    注※2

    S3へのアクセスに必要なポリシーを次に示します。

    ・GetObject

    注※3

    SQSへのアクセスに必要なポリシーを次に示します。

    ・DeleteMessage

    ・ReceiveMessage

    ・GetQueueAttributes

    注※4

    VPCへのアクセスに必要なポリシーを次に示します。

    ・CreateNetworkInterface

    ・DescribeNetworkInterfaces

    ・DeleteNetworkInterface

  5. 「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。

  6. 「関数コード」に次の表に示す情報を入力します。

    表11‒25 イベント情報送信の関数コード

    項番

    項目

    備考

    1

    コードエントリタイプ

    .zipファイルをアップロード

    「sendevent_im2」ディレクトリの「sendevent_im2.zip」を選択します。

    2

    ランタイム

    Python3.7

    3

    ハンドラ

    sendevent_im2.lambda_handler

  7. 「保存」をクリックします。

  8. 「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。

  9. VPCを選択し,イベント情報を送信するJP1/IMにアクセス可能なVPC,サブネット,セキュリティグループを設定します。

(3) セットアップ

(a) イベント定義ファイル(eventconf.csv)

AWS Lambda連携ツール(JP1/IM REST対応版)の登録するJP1イベントに設定手順について説明します。

設定項目
  • JP1イベント登録条件

  • JP1イベント情報

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「S3」を選択します。

  3. 11.2.2(1)(c) S3の事前準備」で作成したバケットを選択します。

  4. 手順3.で選択したバケットから「eventconf.csv」を適当なディレクトリへダウンロードします。

    バケットにファイルが存在しない場合は「sendevent_im2」配下にある上記ファイルを,適当なディレクトリへコピーしてください。

  5. 手順4.でダウンロードまたはコピーした「eventconf.csv」を,テキストエディターで開き,イベント定義を設定します。

    • 1行1エントリーで記載してください。

    • 1文字目が「#」の行はコメント行となり無視されます。

    • CSV形式で記載してください。

    • JP1イベント定義は上から検索され,はじめに条件に合致した条件のJP1イベントが発行されます。

    CSVの各カラムを次の表に示します。

    表11‒26 イベント定義の各カラム

    カラム番号

    設定値

    必須/任意

    値の範囲

    1

    JP1イベントとして登録したいログを特定する正規表現を指定します。

    必須

    正規表現がサポートする範囲

    2

    JP1イベントとして登録したいログのロググループ名を指定します。

    省略した場合は,すべてのロググループが対象となります。

    任意

    AWSのロググループ名がサポートする範囲

    3

    登録するJP1イベントのイベントIDを指定します。※1

    任意

    JP1/IMの「イベント発行」APIのパラメーター「eventId」がサポートする範囲に準ずる。

    4

    登録するJP1イベントのメッセージテキストを指定します。

    省略した場合は,対象のログを使用します。※2

    任意

    JP1/IMの「イベント発行」APIのパラメーター「message」がサポートする範囲に準ずる。

    5以降

    登録するJP1イベントの拡張属性を指定します。※1※3

    拡張属性を複数指定する場合は,は,カラム番号:7以降で指定します。

    任意

    jevsendコマンドの引数-eがサポートする範囲。

    JP1/IMの「イベント発行」APIのパラメーター「attrs」がサポートする範囲に準ずる。

    なお,拡張属性値にスペースが含まれる場合でも「"」の指定は不要です。(「"」も拡張属性値と認識されます)

    注※1

    省略時は,対応するjevsendコマンドのオプションの省略時の動作となります。

    注※2

    1,023バイトを超えるメッセージの場合は,1,023バイトまでを対象とします。

    また,メッセージに改行コードが含まれている場合は,改行コードは半角スペースに変換されます。

    注※3

    指定された拡張属性以外にAWS Lambda連携ツール(JP1/IM REST対応版)が追加する拡張属性があります。追加する拡張属性を次に示します。

    表11‒27 AWS Lambda連携ツール(JP1/IM REST対応版)が設定する拡張属性

    項番

    属性名

    1

    AWS_LAMBDA_LOG_TIMESTAMP

    ログがCloudWatch Logsへ登録されたUNIX時間

    2

    AWS_LAMBDA_LOG_GROUP

    対象のロググループ名

    3

    AWS_LAMBDA_LOG_STREAM

    対象のログストリーム名

    4

    AWS_LAMBDA_SUBSCRIPTION_FILTERS

    対象のサブスクリプションフィルター名をコンマ区切りで設定した値

    (設定値が1つの場合はコンマなし)

    5

    AWS_LAMBDA_LOG_DATETIME

    項番1を「YYYY/mm/dd HH:MM:SS」に変換した文字列

    設定例を次に示します。

    #Condition,LogGroupId,EventID,Message,ExtAttr
    .*Error.*,LOGGROUP1,1111,message1, EXATTR1=value1,EXATTR2=value2
    .*Warning.*,,2222,message2,EXATTR1=aaa bbb,EXATTR2=value
  6. 手順5.で設定を変更したあと,次に示す文字コード/改行コードで保存してください。

    表11‒28 イベント定義ファイル(eventconf.csv)の文字コード/改行コード

    項番

    項目

    1

    文字コード

    UTF-8(BOM無し)

    2

    改行コード

    LF(\n)またはCRLF(\r\n

  7. 手順3.のバケットを再度選択し,設定変更した「eventconf.csv」をアップロードします。

(b) イベント除外ファイル(eventignore.csv)

AWS Lambda連携ツール(JP1/IM REST対応版)の除外するJP1イベントの設定手順は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。「11.2.2(3)(d) イベント除外ファイル(eventignore.csv)」を参照してください。

なお,その際「sendevent_sqs」は「sendevent_im2」に読み替えてください。

(c) イベント情報作成(sendevent_sqs_im2.py)

イベント情報作成の設定手順について説明します。

設定項目
  • SQS URL

  • S3バケット名

  • 実行トリガー(JP1イベント登録対象ログ)

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「Lambda」−「関数」−「sendevent_sqs_im2」−「設定」タブを選択します。

  3. 「環境変数」に次の表に示す内容を設定します。

    表11‒29 イベント情報作成の環境変数

    項番

    キー

    1

    SQS_QUEUE_URL

    11.2.2(1)(d) SQSの事前準備」で作成したJP1イベント情報が格納されているSQSのURLを指定します。

    2

    S3_BUCKET_NAME

    11.2.2(1)(c) S3の事前準備」で作成したAWS Lambda連携ツールの設定ファイルを格納するS3バケット名を指定します。

  4. 「Designer」の「+ トリガーを追加」をクリックし,JP1イベントとして登録したいログをトリガーとして追加します。複数のトリガーを追加できます。

    表11‒30 イベント情報送信の関数コード

    項番

    項目

    備考

    1

    トリガー

    CloudWatch Logs

    2

    ロググループ

    JP1イベントとして登録したいログを含むロググループを指定します。

    AWS Lambda連携ツール(JP1/IM REST対応版)のイベント情報作成自身が出力するログを含むロググループは指定しないでください。

    3

    フィルターの名前

    フィルターの名前を指定します。

    4

    フィルターパターン

    JP1イベントとして登録したいログのフィルターパターンを指定します。

    特に指定しなくても問題ありません。

  5. 「保存」をクリックします。

(d) イベント情報送信(sendevent_im2.py)

イベント情報送信の設定手順について説明します。

設定項目
  • S3バケット名

  • IM2 RESTベースURL

  • IM2認証情報ユーザーID

  • IM2認証情報パスワード

  • 実行トリガー(JP1イベント)

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「Lambda」−「関数」−「sendevent_im2」−「設定」タブを選択します。

  3. 「環境変数」に次の表に示す内容を設定します。

    表11‒31 イベント情報送信の環境変数

    項番

    属性名

    1

    S3_BUCKET_NAME

    11.2.2(1)(c) S3の事前準備」で作成したAWS Lambda連携ツール(JP1/IM REST対応版)の設定ファイルを格納するS3バケット名を指定します。

    2

    IM2_REST_BASE_URL

    イベント情報を送信するJP1/IMのRESTのベースURLを指定します。

    3

    IM2_REST_LOGIN_USER

    JP1/IMへRESTでアクセスするためのユーザーIDを指定します。

    4

    IM2_REST_LOGIN_PASSWORD

    JP1/IMへRESTでアクセスするための項番4に対するパスワードを指定します。

  4. 「Designer」の「+ トリガーを追加」をクリックし,SQSをトリガーとして追加します。

    表11‒32 イベント情報送信のトリガー

    項番

    項目

    備考

    1

    トリガー

    SQS

    2

    SQSキュー

    JP1イベントを読み取るSQSキューを指定します。

    3

    バッチサイズ

    単一のバッチで取得するメッセージの最大数を指定します。

    指定できる最大値は10となります。

  5. 「保存」をクリックします。

(e) ログ設定ファイル(logging.conf)

AWS Lambda連携ツール(JP1/IM REST対応版)のログに関する設定手順は,AWS Lambda連携ツール(JP1イベント登録コマンド対応版)と同じです。「11.2.2(3)(f) Lambda関数のログ設定ファイル(logging.conf)」を参照してください。

なお,その際「sendevent_sqs」は「sendevent_sqs_im2」に読み替えてください。

(4) アンインストール

(a) AWS Lambda連携ツール(JP1/IM REST対応版)のアンインストール

AWS Lambda連携ツールのアンインストール手順を次に示します。

  1. ブラウザーからAWSマネジメントコンソールにログインします。

  2. サービスから「Lambda」−「関数」を選択します。

  3. 「sendevent_sqs_im2」を選択し,「アクション」−「削除」を実行します。

  4. 「sendevent_im2」を選択し,「アクション」−「削除」を実行します。

  5. サービスから「S3」を選択します。

  6. 11.2.2(1)(c) S3の事前準備」で作成したバケットを選択します。

  7. 次のファイルを選択し,「アクション」−「削除」を実行します。

    • eventconf.csv

    • eventignore.csv

    • logging.conf