ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Amazon CloudWatch インテグレーションは、CloudWatch アラームに従ってイベントをフィルタリングするための Amazon CloudTrail の使用率を向上させます。したがって、すべてのトレイル イベントを処理する代わりに、より精密なアラートが作成されます。
Amazon CloudTrail が新しいログを受信すると、ログ イベントが Amazon CloudWatch ログに送信されます。CloudWatch はトレイル イベントを監視して評価し、重要なイベントをフィルタリングします。CloudWatch アラームがトリガーされると、統合によって Opsgenie でアラートが自動で作成されます。CloudWatch アラームを設定するには、Amazon CloudFormation テンプレートが使用されます。
[設定] > [統合] の順に移動します。Amazon CloudTrail を検索して [追加] を選択します (このページに表示される SNS と CloudWatch の各アラームは設定不要です。このドキュメント内の設定には CloudFormation テンプレートが使用されます)。
[応答者] フィールドを使用して、Amazon CloudTrail アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。
[Save Integration (統合の保存)] を選択します。
1. "Amazon CloudTrail コンソール" から [トレイル] に移動します。[Create trail (トレイルを作成)] をクリックするか、既存のトレイルを使用します。
2. [S3] タブで、新しい S3 バケットを作成するか、既存の S3 バケットを選択します。次に、トレイルを作成します。「SNS トピック」が CloudFormation テンプレートで設定されます。
3. [CloudWatch ログ] では [設定] をクリックします。
4. [新規または既存のログ グループ] では、ログ グループ名を入力して [続行] をクリックします。
5. IAM ロールでは、既存のロールを選択するかロールを作成します。CloudWatch ログ ストリームを作成してイベントを配信するには、アクセス許可を CloudTrail に付与して [許可] をクリックします。
6. CloudFormation テンプレートをダウンロードする: https://raw.githubusercontent.com/opsgenie/opsgenie-integration/master/cloudtrail/CloudWatch_Alarms_for_CloudTrail_API_Activity_OpsGenie.json
SNS のトピックとサブスクリプション、CloudWatch アラームは、CloudFormation テンプレートの JSON ファイルにあります。
7. AWS CloudFormation コンソールを開いて、[スタックの作成] をクリックします。
8. [テンプレートを選択] ページで、[ファイルを選択] をクリックして以前にダウンロードした AWS CloudFormation テンプレートを選択します。次に、[次へ] をクリックします。
9. [Name (名前)] にはスタック名を入力します。次の例では、CloudWatchAlarmsForCloudTrailOpsgenie を使用します。[Endpoint (エンドポイント)] は、このドキュメントの最初に作成した統合エンドポイントと同じです。[LogGroupName (ログ グループ名)] に、ログ ファイルを CloudWatch ログに配信するステップ 4 のトレイル設定で指定したログ グループの名前を入力します。[次へ] をクリックします。
10. [オプション] では、タグを作成するかその他の詳細オプションを設定します。これらは必須ではありません。[次へ]、[作成] の順にクリックします。
11. CloudFormation スタックが作成されたことを確認します。
12. CloudWatch ページに移動して、アラートが表示されていることを確認します。
13. [SNS] ページに移動して、トピックが作成されてサブスクリプションが追加されていることを確認します。
このドキュメントで使用する CloudFormation テンプレートには、Amazon S3 Bucket Events、Network Events、Amazon EC2 Events、CloudTrail、IAM Events などの CloudTrail イベントをフィルタリングするための基本的な CloudWatch アラームが含まれています。より詳細な使用方法については、CloudFormation テンプレートを変更してください。
JSON
1
2
3
4
5
6
7
8
9
10
11
12
{
"Type": "Notification",
"MessageId": "x59595a1-5f0b-5ea8-8ad8-c714d42a48d1",
"TopicArn": "arn:aws:sns:us-east-1:485823035610:CloudWatchAlarmsForCloudTrail-AlarmNotificationTopic-1OGWTWXTZ9W5X",
"Subject": "ALARM: \"CloudTrailChanges\" in US East (N. Virginia)",
"Message": "{\"AlarmName\":\"CloudTrailChanges\",\"AlarmDescription\":\"Alarms when an API call is made to create, update or delete a CloudTrail trail, or to start or stop logging to a trail.\",\"AWSAccountId\":\"825426534673\",\"NewStateValue\":\"ALARM\",\"NewStateReason\":\"Threshold Crossed: 1 datapoint [1.0 (03/07/18 14:18:00)] was greater than or equal to the threshold (1.0).\",\"StateChangeTime\":\"2018-07-03T14:23:28.949+0000\",\"Region\":\"US East (N. Virginia)\",\"OldStateValue\":\"INSUFFICIENT_DATA\",\"Trigger\":{\"MetricName\":\"CloudTrailEventCount\",\"Namespace\":\"CloudTrailMetrics\",\"StatisticType\":\"Statistic\",\"Statistic\":\"SUM\",\"Unit\":null,\"Dimensions\":[],\"Period\":300,\"EvaluationPeriods\":1,\"ComparisonOperator\":\"GreaterThanOrEqualToThreshold\",\"Threshold\":1.0,\"TreatMissingData\":\"\",\"EvaluateLowSampleCountPercentile\":\"\"}}",
"Timestamp": "2018-07-03T14:23:29.029Z",
"SignatureVersion": "1",
"Signature": "uzbpxna6ywOS1OSVhP24PDjXd/DCIPoU+D5jPI9U6BORcWIbnofUcyRqF5L/ssJ89kjuEgVxQjwxfLrrTReG38bx05g4WrNIPWfwxiWYV9G5GLW89h4lr3X/NgvXqvbx3QiA9UeeOgLcStXb19RXuX5Y3ckLHpbChKurWoxA+eBx19ce4ZO0w6jr66ZEEPoDOtWZ4Pplx5a4YdGKnWJA8Ostarx1dOziLIxSSzl6BFVEeUM8Fr07T34iIZx7IDn5Ln76muISG6BG2CeUcEExyXgizfHde/h/O2qqH2truxUnZ15Ez7/I9mHXDtikyBS4dL8B5dXWlIignuK12rk9rg==",
"SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-eaea6120er6ea12e88dcd8bcb5dca752.pem",
"UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:585416034660:CloudWatchAlarmsForCloudTrail-AlarmNotificationTopic-1OGWxWXTZ9W5B:c88cde98-cd5f-4f36-857c-8c92339c55d2"
}
このペイロードは Opsgenie によって次のように解析されます。
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"AWSAccountId": "935426074681",
"TopicArn": "arn:aws:sns:us-east-1:785926035630:CloudWatchAlarmsForCloudTrail-AlarmNotificationTopic-1OGWTWXTZ9W5B",
"alertSource": "com.opsgenie.client.model.dto.ActionSourceCustomDto@35ae8359[domain=integration,sourceType=CloudWatch,sourceName=CloudWatch,incomingDataId=a2fde995-bd11-47d7-a5fa-bce4f94f5328,sourceSubName=Create Alert,customSourceName=<null>,actorUserId=<null>]",
"NewStateReason": "Threshold Crossed: 1 datapoint [1.0 (03/07/18 14:18:00)] was greater than or equal to the threshold (1.0).",
"NewStateValue": "ALARM",
"Subject": "ALARM: \"CloudTrailChanges\" in US East (N. Virginia)",
"StateChangeTime": "2018-07-03T14:23:28.949+0000",
"Type": "Notification",
"Trigger": "MetricName : CloudTrailEventCount\nNamespace : CloudTrailMetrics\nStatisticType : Statistic\nStatistic : SUM\nUnit : null\nDimensions : []\nPeriod : 300\nEvaluationPeriods : 1\nComparisonOperator : GreaterThanOrEqualToThreshold\nThreshold : 1.0\nTreatMissingData : \nEvaluateLowSampleCountPercentile :",
"AlarmDescription": "Alarms when an API call is made to create, update or delete a CloudTrail trail, or to start or stop logging to a trail.",
"AlarmName": "CloudTrailChanges",
"OldStateValue": "INSUFFICIENT_DATA",
"delayIfDoesNotExists": "true",
"Region": "US East (N. Virginia)"
}
この内容はお役に立ちましたか?