2.3. クラウド監視(AWS)監視設定手順と使い方¶
AWS監視設定を行う際には、以下の設定が必要になります。
- ライセンスの購入とライセンスキーの入手
AWS監視
注釈
監視対象数に応じて、カスタムセンサーのライセンスが必要です。
- Senju DevOperation Conductor Extension Packの入手と適用
- 運用管理サーバーおよび、クラウド監視を行う管理対象ノードに、同一バージョンの Senju DevOperation Conductor Extension Pack の適用が必要です
運用管理サーバー(千手マネージャ)への適用(監視項目の更新)
管理対象ノード(千手エージェント(プローブノード))への適用(情報取得コマンドの更新)
警告
適用可能な Senju DevOperation Conductor のバージョンやパッチ状況に制限がある場合があります。詳しくは、Senju DevOperation Conductor Extension Pack の README をご参照下さい。
参考
Senju DevOperation Conductor Extension Packの適用手順につきましては、Senju DevOperation Conductor Extension Pack の README をご参照下さい。
注釈
Senju DevOperation Conductor Extension Packの適用に際しては、千手システムの停止は不要ですが、関連する監視タスクの停止が必要です。
2.3.1. 設定¶
- 説明
モニタリングサブシステムを用いてAWSの監視項目を使用するための設定を行います。
- 設定手順
AWS監視を設定するには以下の手順が必要です。
Amazon Web Servicesアカウントの登録
AWS情報設定ファイルの作成
プロファイルの設定
2.3.1.1. Amazon Web Servicesアカウントの登録¶
AWSの監視項目の利用において、事前にAmazon Web Servicesアカウントの登録が必要です。Amazon Web Servicesサイトよりアカウント登録を行って下さい。
AWS Health イベントの監視項目を利用する場合、サポートプランが「ビジネス」または「エンタープライズ」である必要があります。
2.3.1.1.1. IAMユーザーの作成¶
AWSアカウントのルートアカウントの認証情報は、アカウント内のすべてのリソースへのフルアクセスが許可されていますので、AWS監視を行うためにはAWS Identity and Access Management (IAM) ユーザーの認証情報を使用する事をお薦めします。Amazon Web ServicesサイトよりIAMユーザーの作成を行って下さい。
AWS監視では、監視項目毎に必要とされるアクセス権限が異なります。IAMユーザーに 「AWS監視に必要なアクセス権限」 に示すアクセス権限を付与して下さい。
監視項目 |
必要なアクセス権 |
---|---|
AWS:EC2 ~ |
ec2:DescribeRegions |
AWS:EBS ~ |
ec2:DescribeRegions |
AWS:ELB ~ |
ec2:DescribeRegions |
AWS:RDS ~ |
ec2:DescribeRegions |
AWS:S3 ~ |
s3:ListAllMyBuckets |
AWS:AS ~ |
ec2:DescribeRegions |
AWS:CW ~ |
ec2:DescribeRegions |
AWS:SQS ~ |
ec2:DescribeRegions |
AWS:CE ~ |
CE:GetCostAndUsage |
AWS:CWL ~ |
cloudwatch logs:FilterLogEvents |
AWS:Health ~ |
health:DescribeEvents |
AWS:Capacity ~ |
ec2:DescribeRegions |
AWS:Athena ~ |
glue:GetDatabases |
AWS:SQS Message ~ |
sqs:SendMessage |
2.3.1.2. AWS情報設定ファイル(sj_aws.ini)の作成¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルです。設定ファイルを作成することで、監視タスク作成時にパラメータ値を省略することができます。設定ファイルを作成しなかった場合、及び項目を省略した場合は、監視タスク作成時にパラメータで値を指定する必要があります。
同じ項目を、sj_aws.iniとAWSの監視タスクのパラメータの両方で指定した場合は、AWSの監視タスクのパラメータで指定した値が有効になります。
sj_aws.iniはデフォルトで「千手ホームディレクトリ/dat/opt/sj_aws.ini」に作成されます。パスおよびファイル名は任意に指定することが可能です。
設定方法については、sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
項目 |
省略 |
デフォルト |
暗号化対象 |
説明 |
---|---|---|---|---|
accessKey |
可 |
― |
○ |
AWS接続用のアクセスキーID |
secretKey |
可 |
― |
○ |
AWS接続用のシークレットアクセスキー |
iamRoleRetryCount |
可 |
5 |
× |
プロファイル使用時、IAMロール認証情報取得失敗時のリトライ回数 |
iamRoleRetryInterval |
可 |
1 |
× |
プロファイル使用時、IAMロール認証情報取得失敗時のリトライ間隔(秒) |
proxyHost |
可 |
― |
× |
AWS接続時に経由するプロキシサーバーのホスト名 |
proxyPort |
可 |
― |
× |
AWS接続時に経由するプロキシサーバーのポート番号 |
proxyUsername |
可 |
― |
× |
AWS接続時に経由するプロキシサーバーアクセス用ユーザーID |
proxyPassword |
可 |
― |
○ |
AWS接続時に経由するプロキシサーバーアクセス用パスワード(暗号化後のパスワード) |
maxLogSize |
可 |
― |
× |
省略する場合はログファイルを出力する際の最大サイズが10240(単位:KB)になります。 |
maxLogCnt |
可 |
― |
× |
省略する場合はログファイルを出力する際のローテーション最大個数が7になります。 |
retryCount |
可 |
3 |
× |
API実行失敗時のリトライ回数 |
waitTime |
可 |
30 |
× |
API実行時のタイムアウト時間 |
logFormat |
可 |
― |
× |
取得したログの出力フォーマットをLTSVもしくはJSONに切り替えます。省略する場合はLTSVとなります。 |
logBufferTime |
可 |
― |
× |
省略する場合は前回取得した最後のログより遡る時間が5(単位:分)になります。 |
AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。
アクセスキーIDおよびシークレットアクセスキーの一方のみを指定することはできません。
プロキシサーバーのホスト名およびポート番号の両方を指定しなかった場合、プロキシサーバーを利用しません。
プロキシサーバーアクセス用ユーザーIDおよびパスワードの両方を指定しなかった場合、プロキシサーバーの認証に利用しません。
一回以上ログを取得している状態でlogBufferTimeを現在よりも大きい値に変更した場合、変更後の1回目の実行で過去に取得したログを重複して取得する場合があります。ご注意ください。
2.3.1.2.1. sj_setup_aws - AWS情報設定ファイル更新 -¶
- 指定形式
- [参照]
sj_setup_aws
- [作成&更新]
sj_setup_aws
[-ak[access key ID for AWS connection]]
[-sk[secret access key for AWS connection]]
[-reg[Target Region]]
[-jp[Java Virtual Machine parameter]]
[-jh[Java Virtual Machine heap setting]]
[-bk[S3 Bucket]]
[-ic[EC2 Instance counts]]
[-mit[EC2 Instance Type(master)]]
[-sit[EC2 Instance Type(slave)]]
[-mrlu[Elastic MapReduce Job Flow LogUri]]
[-ci[check interval(seconds)(10-600)]]
[-hv[hadoop version]]
[-phost[hostname of proxy server]]
[-pport[port number of proxy server]]
[-puser[User ID of proxy server]]
[-ppswd[password for accessing the proxy server when connecting to AWS]]
[-irrc[number of retries when acquisition of IAM role authentication information fails when using profile]]
[-irri[Retry interval(seconds) when acquisition of IAM role authentication information fails when using profile]]
[-mls[If omitted, the maximum size of the log file output by log monitoring is 10240 (unit: KB)]]
[-mlc[If omitted, the maximum number of log file rotations output by log monitoring is 7.]]
[-rc[number of retries when API call fails]]
[-wt[wait time(seconds) when no response is returned]]
[-cf[AWS information setting file path]]
[-lf[format of log file output by log monitoring]]
[-lbt[bufferTime of log file output by log monitoring]]
- 目的
AWS情報設定ファイル(/dat/opt/sj_aws.ini) の現在値の参照、作成と更新を行います。
- オプション
- -ak
- AWS接続用のアクセスキーID(accessKey)に設定する場合に指定して下さい。設定値の指定は対話形式で行われます。この項目は暗号化した値がAWS情報設定ファイルに書き込まれます。
- -sk
- AWS接続用のシークレットアクセスキー(secretKey)に設定する場合に指定して下さい。設定値の指定は対話形式で行われます。この項目は暗号化した値がAWS情報設定ファイルに書き込まれます。
- -reg
- AWSの接続先リージョン(region)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -jp
- Java Virtual Machineパラメータ(jvm_param)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -jh
- Java Virtual Machineヒープ設定(jvm_heap)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -bk
- AWS/S3のバケット(bucket)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -ic
- AWS/EC2インスタンス数(instanceCount)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -mit
- AWS/EC2インスタンスタイプ(マスター)(masterInstanceType)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -sit
- AWS/EC2インスタンスタイプ(スレーブ)(slaveInstanceType)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -mrlu
- AWS/Elastic MapReduceジョブフローのログ出力先URI(mapreduceLogUri)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -ci
- チェックインターバル(秒)[10-600](checkInterval)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -hv
- hadoopバージョン(hadoopVersion)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -phost
- AWS接続時に経由するプロキシサーバーのホスト名(proxyHost)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -pport
- AWS接続時に経由するプロキシサーバーのポート番号(proxyPort)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -puser
- AWS接続時に経由するプロキシサーバーアクセス用ユーザーID(proxyUsername)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -ppswd
- AWS接続時に経由するプロキシサーバーアクセス用パスワード(proxyPassword)に設定する場合に指定して下さい。設定値の指定は対話形式で行われます。この項目は暗号化した値がAWS情報設定ファイルに書き込まれます。
- -irrc
- プロファイル使用時、IAMロール認証情報取得失敗時のリトライ回数(iamRoleRetryCount)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -irri
- プロファイル使用時、IAMロール認証情報取得失敗時のリトライ間隔(秒)(iamRoleRetryInterval)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -mls
- 出力するログファイルの、最大サイズ(maxLogSize)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -mlc
- 出力するログファイルの、ローテーション最大個数(maxLogCnt)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -rc
- API実行失敗時のリトライ回数(retryCount)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -wt
- API実行時のタイムアウト時間(waitTime)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -cf
- 現在値の参照、作成と更新を行う任意のAWS情報設定ファイルを絶対パスで指定して下さい。値を省略した場合はデフォルトのAWS情報設定ファイル(/dat/opt/sj_aws.ini) の参照、作成と更新を行います。
- -lf
- ログフォーマット(logFormat)に設定する値を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- -lbt
- 最後に取得したログより遡る時間(logBufferTime)を指定して下さい。値を省略するとAWS情報設定ファイルに設定されている値を削除します。
- 実行結果
- (例1)現在の設定値参照
% sj_setup_aws #Com accessKey= secretKey= keyEncryption=ON maxLogSize= maxLogCnt= retryCount=3 waitTime=30 logFormat= logBufferTime= #Job region= jvm_param= jvm_heap= bucket= instanceCount=5 masterInstanceType=m1.small slaveInstanceType=m1.small mapreduceLogUri= checkInterval=60 hadoopVersion=1.0.3 #Proxy proxyHost= proxyPort= proxyUsername= proxyPassword= #IamRole iamRoleRetryCount= iamRoleRetryInterval= %
- (例2)アクセスキーとシークレットキー、リージョンを設定
% sj_setup_aws -ak -sk -regap-northeast-1 Please enter the value. accessKey= Please enter the value. secretKey= The value of accessKey has changed from (**********) to (**********). The value of secretKey has changed from (**********) to (**********). The value of region has changed from () to (ap-northeast-1). The AWS information file successfully updated. % sj_setup_aws accessKey=********** secretKey=********** keyEncryption=ON maxLogSize= maxLogCnt= retryCount=3 waitTime=30 logFormat= logBufferTime= #Job region=ap-northeast-1 jvm_param= jvm_heap= bucket= instanceCount=5 masterInstanceType=m1.small slaveInstanceType=m1.small mapreduceLogUri= checkInterval=60 hadoopVersion=1.0.3 #Proxy proxyHost= proxyPort= proxyUsername= proxyPassword= #IamRole iamRoleRetryCount= iamRoleRetryInterval= %
- (例3)設定を削除
% sj_setup_aws -ak -sk -reg Please enter the value. accessKey= Please enter the value. secretKey= The value of accessKey has changed from (**********) to (**********). The value of secretKey has changed from (**********) to (**********). The value of region has changed from (ap-northeast-1) to (). The AWS information file successfully updated. % sj_setup_aws accessKey= secretKey= keyEncryption=ON maxLogSize= maxLogCnt= retryCount=3 waitTime=30 logFormat= logBufferTime= #Job region= jvm_param= jvm_heap= bucket= instanceCount=5 masterInstanceType=m1.small slaveInstanceType=m1.small mapreduceLogUri= checkInterval=60 hadoopVersion=1.0.3 #Proxy proxyHost= proxyPort= proxyUsername= proxyPassword= #IamRole iamRoleRetryCount= iamRoleRetryInterval= %
注釈
暗号化対象項目の標準出力への表示は全てアスタリスクでマスクされます。
暗号化対象項目の値の設定は、キーボードからの入力が一切表示されません。コピー&ペーストで入力することをお勧めします。
暗号化対象項目の値を削除する場合、何も入力せずにリターンキーを押下して下さい。
- 標準エラー出力
Failed to acquire Senju home directory.
The AWS information file does not exist.
Invalid data have been set in this file.
Failed to update the AWS information file.
- 終了ステータス
0 : 正常終了
1 : 異常終了
2.3.1.2.2. AWS情報設定ファイル更新コマンドの登録¶
AWS情報設定ファイルの現在値の参照、作成と更新を行うため、AWS情報設定ファイル更新コマンドを千手ブラウザからユーザーコマンドに登録します。詳細な手順については、ユーザーズガイド 「2.3.2.1 ユーザーコマンド」 を参照して下さい。
- ユーザーコマンドグループの作成
AWS情報設定ファイル更新コマンドを登録するユーザーコマンドグループを千手ブラウザから登録して下さい。
- AWS情報設定ファイル更新コマンドの登録
作成したユーザーコマンドグループに、以下に示す起動シーケンスを指定してコマンドを登録して下さい。
現在値の参照
sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_aws "-cf@@対象ファイルパス@@"
作成と更新
sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_aws "-ak@@AWS接続用アクセスキーID@@" "-sk@@AWS接続用シークレットアクセスキー@@" "-reg@@AWS接続先リージョン@@" "-jp@@Java Virtual Machineパラメータ@@" "-jh@@Java Virtual Machineヒープ設定@@" "-bk@@AWS/S3バケット@@" "-ic@@AWS/EC2インスタンス数@@" "-mit@@AWS/EC2インスタンスタイプ(マスター)@@" "-sit@@AWS/EC2インスタンスタイプ(スレーブ)@@" "-mrlu@@AWS/Elastic MapReduceジョブフローログ出力先URI@@" "-ci@@チェックインターバル(秒)@@" "-hv@@hadoopバージョン@@" "-phost@@プロキシサーバーホスト名@@" "-pport@@プロキシサーバーポート番号@@" "-puser@@プロキシサーバーアクセス用ユーザーID@@" "-ppswd@@プロキシサーバーアクセス用パスワード@@" "-irrc@@IAMロール認証情報取得失敗時リトライ回数@@" "-irri@@IAMロール認証情報取得失敗時リトライ間隔(秒)@@" "-mls@@ログファイルの最大サイズ@@" "-mlc@@ログファイルのローテーション最大個数@@" "-rc@@API実行失敗時のリトライ回数@@" "-wt@@API実行時のタイムアウト時間@@" "-cf@@対象ファイルパス@@" "-lf@@ログフォーマット@@" "-lbt@@最後に取得したログより遡る時間@@"
注釈
上記の起動シーケンスは項目を全て変更する仕様となっています。項目別に変更を行いたい場合は、起動シーケンスから任意の「-オプション@@パラメータ名@@」を指定したユーザーコマンドを別途登録して下さい。
(例)sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_aws "-reg@@AWS接続先リージョン@@" "-cf@@対象ファイルパス@@"
2.3.1.3. プロファイルの設定¶
IAMロールを設定したEC2インスタンス上の千手エージェント(プローブ)でAWS監視を行う場合、プロファイルを指定してAssumeRoleを利用した監視を行う事ができます。この設定を行うと、複数のアカウントに対して監視を行う際の設定を簡素化する事ができます。
- プロファイルを設定するには以下の手順が必要です。
監視対象アカウントでのIAMロールの作成
インスタンスに設定されたIAMロールへの権限付与
プロファイル作成コマンドの登録
プロファイルの作成
2.3.1.3.1. 監視対象アカウントでのIAMロールの作成¶
- AWS監視の監視対象となるAWSアカウントで、Amazon Web Servicesサイトより次のようなIAMロールの作成を行って下さい。
エージェント(プローブノード)のAWSアカウントからAssumeRoleを許可して下さい。
監視を行いたい監視項目が実行できるように、 「AWS監視に必要なアクセス権限」 に示すアクセス権限を付与して下さい。
2.3.1.3.2. インスタンスに設定されたIAMロールへの権限付与¶
監視対象のIAMロール( 監視対象アカウントでのIAMロールの作成 )で作成したもの) へAssumeRoleができるように、AWS監視を行うEC2インスタンスに設定されたIAMロールに、Amazon Web Servicesサイトより以下に示すアクセス権限を付与して下さい。
項目 |
必要なアクセス権 |
---|---|
IAMロール |
sts:AssumeRole |
2.3.1.3.3. プロファイル作成コマンドの登録¶
プロファイルの作成・編集を行うためのプロファイル作成コマンドを、千手ブラウザからユーザーコマンドに登録します。作業については、ユーザーズガイド 「2.3.2.1 ユーザーコマンド」 を参照して下さい。プロファイル作成コマンドの詳細については、「 sjAwsSetProfile -AWS監視プロファイル作成コマンド- 」を参照して下さい。
- ユーザーコマンドグループの作成
プロファイル作成コマンドを登録するユーザーコマンドグループを千手ブラウザから登録して下さい。
- プロファイル作成コマンドの登録
作成したユーザーコマンドグループに、以下に示す起動シーケンスを指定して5種類のコマンドを登録して下さい。
- プロファイルの追加
UNIX/Linuxマネージャの場合
remsh @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m add -p @プロファイル名@ -ar @IAMロール@ -ei @AWS外部ID@
Windowsマネージャの場合
sj_remshe.exe @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m add -p @プロファイル名@ -ar @IAMロール@ -ei @AWS外部ID@
注釈
AWS外部IDを設定しないプロファイルを追加する場合は、上記の起動シーケンスから -ei @AWS外部ID@ を除いたユーザーコマンドを別途登録して下さい。
- プロファイルの変更
UNIX/Linuxマネージャの場合
remsh @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m chg -p @プロファイル名@ -ar @IAMロール@ -ei @AWS外部ID@
Windowsマネージャの場合
sj_remshe.exe @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m chg -p @プロファイル名@ -ar @IAMロール@ -ei @AWS外部ID@
注釈
AWS外部IDを設定しないプロファイルを変更する場合は、上記の起動シーケンスから -ei @AWS外部ID@ を除いたユーザーコマンドを別途登録して下さい。
- プロファイルの削除
UNIX/Linuxマネージャの場合
remsh @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m del -p @プロファイル名@
Windowsマネージャの場合
sj_remshe.exe @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m del -p @プロファイル名@
- プロファイル一覧の表示
UNIX/Linuxマネージャの場合
remsh @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m list
Windowsマネージャの場合
sj_remshe.exe @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m list
- プロファイルの詳細表示
UNIX/Linuxマネージャの場合
remsh @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m detail -p @プロファイル名@
Windowsマネージャの場合
sj_remshe.exe @ノード名@ -l "@ユーザ名@" -k AGT sjAwsSetProfile -m detail -p @プロファイル名@
2.3.1.3.4. プロファイルの作成¶
「 プロファイル作成コマンドの登録 」で登録したプロファイル作成コマンドを使って、プロファイルを作成します。作業については、ユーザーズガイド 「2.3.2.1.5 登録したユーザーコマンドの実行」 を参照して下さい。
- [プロファイルの追加]コマンドの実行
[プロファイルの追加]コマンドに、以下のパラメータを入力して実行して下さい。
- ノード名
監視を行う千手エージェント(プローブ)のノード名を入力します。
- ユーザー名
入力したノードの千手稼働アカウントを入力します。
- プロファイル名
追加するプロファイル名を入力します。
- IAMロール
監視対象のIAMロールを以下の形式で入力します。
arn:aws:iam::(監視対象のアカウントID):role/(監視対象のロール)- AWS外部ID
IAMロールの外部IDを入力します。
ここまでの設定を行う事で、監視項目の[プロファイル]に作成したプロファイル名を指定してAWS監視を行う事ができます。
2.3.1.3.5. sjAwsSetProfile -AWS監視プロファイル作成コマンド-¶
- 指定形式
- [追加、変更]
sjAwsSetProfile -m {add|chg} -p プロファイル名 -ar IAMロール [-ei AWS外部ID]
- [削除、詳細表示]
sjAwsSetProfile -m {del|detail} -p プロファイル名
- [一覧]
sjAwsSetProfile -m list
- [usage]
sjAwsSetProfile -h
- 目的
AWS監視で使用するプロファイルの作成・編集を行います。
- オプション
- -m { add | chg }、{ del | detail }、{list}
- コマンドのモードを指定します。以下の5つから選択できます。
add:追加モード。新しいプロファイルを作成します。
chg:変更モード。既存のプロファイルを変更します。
del:削除モード。既存のプロファイルを削除します。
detail:詳細表示モード。指定したプロファイルの詳細を表示します。
list:一覧モード。全てのプロファイルの一覧を表示します。
- -p プロファイル名
- 操作対象のプロファイル名を指定します。一覧モードを除き省略不可です。一覧モードでは指定不可です。
- -ar IAMロール
- 監視対象のIAMロールを以下の形式で指定します。追加、変更モードで省略不可です。それ以外のモードでは指定不可です。arn:aws:iam::(監視対象のアカウントID):role/(監視対象のロール)
- -ei AWS外部ID
- IAMロールの外部IDを指定します。追加、変更モードで指定可能、省略可です。それ以外のモードでは指定不可です。
- 実行結果
以下は、プロファイル名を" myprofile "、監視対象のアカウントIDを" 111111111111 "、監視対象のIAMロールを" myrole "としてプロファイルを新規作成した場合の実行例です。
% sjAwsSetProfile -m add -p myprofile -ar arn:aws:iam::111111111111:role/myrole add:myprofile role_arn = arn:aws:iam::111111111111:role/myrole
- 終了ステータス
- 0:正常終了1:異常終了(実行に失敗した場合)
2.3.2. 使い方¶
AWSの各サービスのエンドポイントから情報を取得し、Senju DevOperation Conductorのモニタリング機能を使って、監視することができます。
監視定義を千手ブラウザより登録し、監視を実施します。監視結果は、各種モニタ画面(グローバルノードモニタ/ノードモニタ)にてその監視状況を表示できます。予め設定したしきい値により障害を検知した場合は、メッセージモニタにメッセージが通知されます。
(モニタリング機能については、ユーザーズガイド「 4.モニタリング 」を参照して下さい。)
注釈
監視項目によっては、監視間隔を10分未満に設定すると値が取得できないことがあります。その場合は監視間隔を10分以上に設定して下さい。
参考
各種パラメータの設定値が分からない場合は、Amazon Web Servicesより提供されているCloudWatch Management Consoleのメトリクスにて確認して下さい。
参考URL:https://console.aws.amazon.com/cloudwatch/ (2019年8月現在)
2.3.2.1. AWSの接続先リージョンについて¶
監視タスク設定の際に指定可能なAWSリージョンは、AWSが各サービスを提供しているリージョンに依存します。下記の表にAWSリージョンと設定する値の例を示します。詳細についてはAmazon Web Servicesよりご確認下さい。
AWSリージョン |
設定値 |
---|---|
米国東部(バージニア) |
us-east-1 |
米国西部(カルフォルニア) |
us-west-1 |
米国西部(オレゴン) |
us-west-2 |
南米(サンパウロ) |
sa-east-1 |
欧州(フランクフルト) |
eu-central-1 |
欧州(アイルランド) |
eu-west-1 |
アジアパシフィック(シンガポール) |
ap-southeast-1 |
アジアパシフィック(シドニー) |
ap-southeast-2 |
アジアパシフィック(東京) |
ap-northeast-1 |
アジアパシフィック(大阪) |
ap-northeast-3 |
2.3.2.2. VPCエンドポイント(AWS PrivateLink)について¶
- VPCエンドポイント(AWS PrivateLink)を使用したサービスへの接続を行う場合は、下記のいずれかの設定でVPCエンドポイントのリージョンを指定して下さい。
監視タスクの「リージョン」オプション
参考
VPCエンドポイント(AWS PrivateLink)に対応したサービスについては、Amazon Web Servicesよりご確認下さい。
参考URL:https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpce-interface.html (2020年4月現在)
2.3.2.3. AWS監視の各パラメータの上限値および制限事項¶
AWS監視で設定できるパラメータにはAmazon Web Servicesの上限値とは別に千手固有の上限値および制限事項があります。下記の表に上限値および制限事項を示します。
パラメータ名 |
上限値、制限事項 |
---|---|
プロファイル名 |
50byte 、半角英数字 |
タグキー |
80byte 、半角英数字 |
タグ値 |
80byte 、半角英数字 |
2.3.2.4. Amazon CloudWatch Logs連携機能¶
監視項目「AWS:CWL AWSログ情報取得」では Amazon CloudWatch Logs から取得したログをログファイルに蓄積します。このログファイルを監視することでアラートの検知をすることが可能です。
2.3.2.4.1. ログファイル¶
監視項目「AWS:CWL AWSログ情報取得」で取得したログファイルは、パラメータ「ログファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。
ログフォーマットがLTSVの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/CloudWatch_<リージョン>_<ロググループ名>.log
ログフォーマットがJSONの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/CloudWatch_<リージョン>_<ロググループ名>.json
複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。リージョン、ロググループ名を指定して下さい。
ログメッセージに含まれる改行、タブ、「\」記号は、”\t”⇒”\\t” “\n”⇒ “\\n”, “\”⇒ “\\”に置換されログファイルに出力されます。
出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。
2.3.2.4.2. ログフォーマット¶
以下にAmazon CloudWatch Logs ログ情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。
【Amazon CloudWatch Logsログファイル レコード形式】
ログフォーマットがLTSVの場合:
ログストリーム名 イベントID タイムスタンプ ログメッセージ
¶ No.
項目
説明
1
タイムスタンプ
「Timestamp:」に続き、取得したイベントが出力されたタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ(例:2020-03-13T07:09:06Z)。
2
ログストリーム名
「LogStreamName:」に続き、取得したログストリーム名が入ります。
3
イベントID
「EventId:」に続き、取得したイベントのイベントのIDが入ります。
4
ログメッセージ
「LogMessage:」に続き、取得したイベントのメッセージが入ります。
ログフォーマットがJSONの場合:
ログメッセージ
¶ No.
項目
説明
1
ログメッセージ
取得したイベントのメッセージが入ります。メッセージはJSONの形式で出力されます。
2.3.2.4.3. テキストログ監視の設定方法¶
以下にSenju DevOperation Conductorのテキストログ監視を利用して、Amazon CloudWatch Logs ログ情報取得で取得したログメッセージを監視する運用例を示します。この例では、ログメッセージにキーワードが発生時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。
警告
管理対象ノードにおいて千手が起動していない状態で、[反映(監視属性)]を行うと失敗しますので、注意して下さい。
2.3.2.5. AWS Health イベント監視機能¶
監視項目「AWS:Health イベント情報取得」ではAWS Health から取得したイベント情報をログファイルに蓄積します。このログファイルを監視することでHealth イベント情報を検知することが可能です。
2.3.2.5.1. AWS Health連携機能の制限事項¶
AWS Healthの監視対象が多い場合に、ログ取得の途中で強制停止される可能性があります。
2.3.2.5.2. ログファイル¶
監視項目「AWS:Health イベント情報取得」で取得したログファイルは、パラメータ「ログファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。
ログフォーマットがLTSVの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/HealthEvents_<モード>_<フィルター>.log
ログフォーマットがJSONの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/HealthEvents_<モード>_<フィルター>.json
複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。モードとフィルターを指定して下さい。
出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。
2.3.2.5.3. ログフォーマット¶
以下にAWS Health イベント情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。
【AWS Health イベント情報ログファイル レコード形式】
ログフォーマットがLTSVの場合:
タイムスタンプ イベント内容
¶ No.
項目
説明
1
タイムスタンプ
「Timestamp:」に続き、取得したイベント情報の作成時間または更新時間のタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ
(例:2020-08-13T07:09:06Z)。2
イベント内容
「Health:」に続き、取得したイベント内容が入ります。イベント内容はJSONの形式で出力されます。
ログフォーマットがJSONの場合:
イベント内容
¶ No.
項目
説明
1
イベント内容
取得したイベント内容が入ります。イベント内容はJSONの形式で出力されます。
2.3.2.5.4. テキストログ監視の設定方法¶
以下にSenju DevOperation Conductorのテキストログ監視を利用して、AWS Health イベント情報取得で取得したイベント情報を監視する運用例を示します。この例では、イベント内容にキーワードが発生した時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。
2.3.2.6. Amazon Athena連携機能¶
監視項目「AWS:Athena ログ情報取得」ではAmazon Athenaから取得したログをログファイルに蓄積します。このログファイルを監視することでアラートの検知をすることが可能です。
2.3.2.6.1. ログファイル¶
監視項目「AWS:Athena ログ情報取得」で取得したログファイルは、パラメータ「ログファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。
ログフォーマットがLTSVの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/AwsAthena_<ワークグループ名>_<データベース名>_<監視タスクID>.log
ログフォーマットがJSONの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/AwsAthena_<ワークグループ名>_<データベース名>_<監視タスクID>.json
ログファイル名に含まれる「ワークグループ名」と「データベース名」は監視タスクのパラメータで指定できます。
ログメッセージに含まれる改行、タブ、「\」記号は、”\t”⇒”\\t” “\n”⇒ “\\n”, “\”⇒ “\\”に置換されログファイルに出力されます。
出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。
2.3.2.6.2. ログフォーマット¶
以下にAmazon Athenaログ情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。
【Amazon Athenaログファイル レコード形式】
ログフォーマットがLTSVの場合:
ログメッセージ
¶ No.
項目
説明
1
ログ内容
各項目は「<項目名>:<値>」の形式で出力し、各項目間はTABで区切られています。タイムスタンプのフォーマットはyyyy-MM-dd HH:mm:ss[.f...]となります。(例:timegenerated:2023-07-03 17:38:05.324 computer:aks-sjnodepool1)
ログフォーマットがJSONの場合:
ログメッセージ
¶ No.
項目
説明
1
ログ内容
取得したログのメッセージが入ります。メッセージはJSONの形式で出力されます。
2.3.2.6.3. テキストログ監視の設定方法¶
以下にSenju DevOperation Conductorのテキストログ監視を利用して、Amazon Athenaログ情報取得で取得したログメッセージを監視する運用例を示します。この例では、ログメッセージにキーワードが発生時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。
警告
管理対象ノードにおいて千手が起動していない状態で、[反映(監視属性)]を行うと失敗しますので、注意して下さい。
2.3.2.7. Amazon SQS連携機能¶
監視項目「AWS:SQS メッセージ取得」ではAmazon SQSから取得したメッセージ情報をログファイルに蓄積します。このログファイルを監視することでAmazon SQSメッセージ情報を検知することが可能です。
2.3.2.7.1. ログファイル¶
監視項目「AWS:SQS メッセージ取得」で取得したログファイルは、パラメータ「ログファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。
ログフォーマットがLTSVの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/SQSMessage_<リージョン>_<キュー名>.log
ログフォーマットがJSONの場合:
<千手ホームディレクトリ>/log/cloud.aws.d/SQSMessage_<リージョン>_<キュー名>.json
複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。リージョンとキュー名を指定して下さい。
メッセージ情報に含まれる改行、タブ、「\」記号は、”\t”⇒”\\t” “\n”⇒ “\\n”, “\”⇒ “\\”に置換されログファイルに出力されます。
出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。
2.3.2.7.2. ログフォーマット¶
以下にAWS SQSメッセージ情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。
【AWS SQSメッセージ情報ログファイル レコード形式】
ログフォーマットがLTSVの場合:
タイムスタンプ メッセージ情報内容
¶ No.
項目
説明
1
タイムスタンプ
「Timestamp:」に続き、取得したメッセージ情報の送信時刻のタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ
(例:2020-08-13T07:09:06Z)。2
メッセージ情報内容
「LogMessage:」に続き、取得したメッセージ情報内容が入ります。メッセージ情報内容はJSONの形式で出力されます。
ログフォーマットがJSONの場合:
イベント内容
¶ No.
項目
説明
1
メッセージ情報内容
取得したメッセージ情報内容が入ります。メッセージ情報内容はJSONの形式で出力されます。
2.3.2.7.3. テキストログ監視の設定方法¶
以下にSenju DevOperation Conductorのテキストログ監視を利用して、AWS SQSメッセージ取得で取得したメッセージ情報を監視する運用例を示します。この例では、メッセージ内容にキーワードが発生した時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。
2.3.2.8. 汎用メトリクス監視機能¶
監視項目「AWS:メトリクス監視」では Amazon CloudWatch から任意のメトリクスの値を取得し、監視することでアラートの検知をすることが可能です。
注釈
Senju DevOperation Conductor Extension Packリリース時点でAmazon Web Servicesドキュメントに記載されているメトリクスが「リソースタイプ:メトリクス」から選択可能です。
2.3.2.8.1. 汎用メトリクス監視の設定方法¶
以下に汎用メトリクス監視の監視定義を千手ブラウザより登録する手順を記載します。例として AWS/EC2 のインスタンスで受信されたバイト数を10分間隔で監視します。
監視項目「AWS:メトリクス監視」の設定項目を以下に示します。
項目名 |
設定内容 |
---|---|
リソースタイプ:メトリクス |
Amazon CloudWatch から監視するメトリクスを【ネームスペース:メトリクス】の形式で指定して下さい。候補一覧から選択することも、入力することも可能です。 |
計算式 |
計算に使用する式です。「計算式の変数Aの値」で指定したプロパティの値を計算し監視結果の値として扱います。「A0」や「A1」など、変数名「A」の後ろの数字は、「0」は前回取得した値を表し、「1」は今回取得した値を表します。 |
計算式の変数Aの値 |
|
計算結果の型 |
|
単位 |
ノードモニタに表示される単位です。 |
計算結果の比較方法 |
|
2.3.2.9. キャパシティ監視機能¶
監視項目「AWS:キャパシティ監視」では使用状況とサービスクォータを取得できるすべてのメトリクスにおいて、使用率(使用状況/サービスクォータ*100)を取得し、監視することでアラートの検知をすることが可能です。
注釈
Senju DevOperation Conductor Extension Packリリース時点でAmazon Web Servicesドキュメントに記載されている使用状況とサービスクォータを取得できるメトリクスが「リソースタイプ:メトリクス」から選択可能です。
2.3.2.9.1. キャパシティ監視の設定方法¶
以下にキャパシティ監視の監視定義を千手ブラウザより登録する手順を記載します。例としてCloudWatch使用状況メトリクスがアカウントで実行されたオペレーションの数を15分間隔で監視します。
監視項目「AWS:キャパシティ監視」の設定項目を以下に示します。
項目名 |
設定内容 |
---|---|
リソースタイプ:メトリクス |
Amazon CloudWatch から監視できる使用状況メトリクスを【ネームスペース:メトリクス】の形式で指定して下さい。候補一覧から選択することも、入力することも可能です。 |
計算式 |
計算に使用する式です。「A1」は使用状況メトリックの値で「B1」はサービスクォータの値を表します。計算式は【100*A1/B1】と固定され、使用率(使用状況メトリクス/サービスクォータ*100)の値を計算し監視結果の値として扱います。 |
計算結果の型 |
計算結果の型です。計算結果を判定条件の値と比較する際の型となります。現状は【小数】と固定されています。 |
単位 |
ノードモニタに表示される単位です。 |
計算結果の比較方法 |
「判定条件」フィールド(値)の値と、比較する方法を表します。現状は【通常】と固定されています。 |