概要
障害ログ機能とは、Coatiによる障害の復旧処理の前後のシステムの状態やシステムログを収集する機能のことです。
本機能を用いることにより、障害発生時のシステムの状態がわかり、事後の調査などに活用できます。
注:障害ログ機能は、テナント管理機能をご利用中のユーザー限定の機能です。
テナント管理機能の利用のお問い合わせは購入前の質問もしくはヘルプデスクよりお問い合わせください。
導入
本機能は、クイックスタートガイドに従って作成した、Coatiに登録中のIAMロールに権限を追加していただくことにより利用可能となります。
IAMロールの権限を設定しない場合にも本機能の利用は可能ですが、出力される情報が一部制限されます。
IAMロールの設定
本機能を制限なく利用するためには、Coatiに登録済みのIAMロールに、以下の権限を追加してください。
AWSによる管理のポリシーを利用する場合
- AmazonS3FullAccess
- SSMで出力される文字数の制限をなくすために必要です。
- CloudWatchReadOnlyAccess
- CloudWatchの値を取得するために必要です。
上記2つのポリシーを選択してください。
ユーザーによる管理のポリシーを利用する場合
サービス
- CloudWatch
アクション
- GetMetricStatistics
リソース
- 「すべてのリソース」にチェックを入れてください。
サービス
- S3
アクション
- putObject
- putObjectAcl
リソース
- ARNの追加 より下記を入力
-
arn:aws:s3:::coati-command-output-product/*
-
IAMポリシーの例(JSON)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::coati-command-output-product/*"
}
]
}
GUI上の設定
次に、CoatiのGUI上から「インスタンス管理・設定」画面より「詳細設定」ボタンをクリックし「障害検知したとき障害ログデータを取得する」を有効にします。
以上で、障害ログデータの取得が有効となり、次回のCoatiによる復旧動作から、障害ログの収集が実行されます。
ダウンロード方法
収集された障害ログデータは、イベント履歴一覧の「障害ログ」列のダウンロードボタンをクリックすることにより、ローカルPC上に障害ログデータをダウンロードすることが出来ます。
制限・注意事項
- 障害ログ機能を有効にすると、監視・復旧にかかる時間が増加します。
これは、障害ログ機能がCoatiがサービスの監視・復旧を行う前に情報収集のコマンドを実行し、その結果を待つためです。 - iostatコマンドなど、情報取得の際にCoatiが実行するコマンドがOS内にインストールされていない場合、情報が取得できません。
機能の仕様
収集対象の情報
本機能で収集される情報と取得元を以下に記載します。
Linux
項目 |
詳細項目 |
取得元 |
CPU使用率 |
UserTime(%) IOWaitingTime(%) |
vmstatコマンド |
CPU使用率(%)Top10プロセス |
- |
psコマンド |
メモリ使用量 |
Total(KB) |
vmstatコマンド |
メモリ使用率(%)Top10プロセス |
- |
psコマンド |
ディスク使用量 |
Filesystem total(MB) |
dfコマンド |
ディスク使用率 |
deviceName readIOPS(回/s) writeIOPS(回/s) readTransfer(KB/s) |
iostatコマンド |
システムログ |
最新の1000行分 |
/var/log/messages |
Windows
項目 |
詳細項目 |
取得元 |
CPU使用率 |
PercentInterruptTime(%) PercentIdleTime(%) PercentUserTime(%) |
Win32_PerfFormattedData_PerfOS_Processor(WMIクラス) |
CPU使用率(%)Top10プロセス |
- |
Get-Processコマンド |
メモリ使用量 |
TotalVisibleMemorySize(KB) |
Win32_OperatingSystem(WMIクラス) |
メモリ使用量Top10プロセス |
Get-Processコマンド |
|
ディスク使用量 |
DriveLetter |
Get-Volumeコマンド |
ディスク使用率 |
AvgDiskBytesPerTransfer(Bytes/s) AvgDiskBytesPerWrite(Bytes/s) AvgDiskSecPerTransfer(s) AvgDiskSecPerRead(s) |
Win32_PerfFormattedData_PerfDisk_LogicalDisk(WMIクラス) |
イベントログ |
最新の1000イベント分 |
Get-EventLogコマンド
|
CloudWatch
項目 |
取得元 |
CPU使用率 |
取得期間:30分 取得間隔:1分(最小) 統計:最大値 |
出力フォーマット
障害ログデータはzip形式で圧縮されています。解凍すると以下のファイルが出力されます。
OSのメトリクス
ファイル名:metrics.txt
OSのメトリクスでは、出力ファイルのフォーマットはタブ区切りの4列です。(下図参照)
Memory(KB) Total(KB) 491252 491252
Memory(KB) Used(KB) 76496 77228
各列は左から、項目・詳細項目・復旧実行前の値・復旧実行後の値です。
OSのログ
ファイル名:
(Linux) varLogMessagesLinux.txt
(Windows) eventLogWindows.txt
Linuxの場合、/var/log/messagesのログが出力されます。
Windowsの場合、Get-EventLogコマンドで取得される情報が出力されます。
CloudWatchのメトリクス
ファイル名: cpuUtilizationMaximum.txt
CloudWatchのCPUUtilizationを出力します。
2019-09-09T06:57:00.000Z 0.847457627118644
2019-09-09T07:02:00.000Z 0.169491525423743
各列は左から、時刻(UTC)・CPU使用率です。
インスタンス / 取得時間 の情報
ファイル名:info.txt
障害ログ取得を行ったインスタンスの情報と、アーカイブの作成時刻が格納されています。
InstanceID i-************
InstanceRegion ap-northeast-1
InstanceName CoatiInstance
CreateDate 2019-09-18T05:47:59.003Z
上から順に、インスタンスID・インスタンスのリージョン・インスタンスの名前・アーカイブの作成時刻です。
補足
- コマンドが失敗した場合、コマンドの標準エラー出力の内容がファイルに出力されます。
- IAMの権限がなく、コマンドの実行結果が取得できなかった場合は、下記の文字列がファイルに出力されます
OutputTruncated: Could not get execution result of the command. Please confirm setting of Coati.
- インスタンスの回復設定に「監視のみ」を設定している場合、OSのメトリクス(metrics.txt)の2回目の取得(4列目)に文字列「skip」が出力されます。
情報取得のタイミング
本機能では、情報の収集を、Coatiによる復旧が実行される前と復旧が実行された後の2回のタイミングで取得します。
*どちらか1回が実行されます
また、Coatiの監視設定項目で「監視のみ」設定が選択されている場合は、障害を検出したタイミングで1回の障害ログ取得が実行されます。この場合、標準動作における2回目の取得タイミングでは障害ログ取得は実行されません。
コメント
0件のコメント
記事コメントは受け付けていません。