• 製品
  • 使用を開始する
  • 関連ドキュメント
  • リソース

Opsgenie を Amazon CloudWatch と統合する

CloudWatch メトリックは、AWS クラウドで実行されているアプリケーションのモニタリングにおいて重要な役割を果たします。

ビデオを見る: Opsgenie と AWS CloudWatch の統合

Opsgenie が CloudWatch ユーザーに提供するもの

CloudWatch アラームは、指定された期間に 1 つのメトリックを監視し、監視されたメトリックの値と指定されたしきい値に基づいて自動化されたアクションを実行します。Opsgenie はこれらのアラームのディスパッチャーとして機能して、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iPhone、Android のプッシュ通知によって通知し、アラートが確認されるかクローズされるまでアラートをエスカレートします。CloudWatch は問題を検出し、Opsgenie は適切な人々が問題に取り組んでいることを保証します。

統合の機能性

  • CloudWatch でアラートが作成されると、インテグレーションによって Opsgenie でアラートが自動で作成されます。

  • CloudWatch でアラートがクローズされると、インテグレーションによって Opsgenie で関連アラートが自動でクローズされます。

Opsgenie で CloudWatch インテグレーションを追加する

この統合はチーム ダッシュボードから追加可能

Opsgenie の Free または Essentials の各プランを使用している、または Jira Service Management の Standard プランで Opsgenie を使用している場合、このプランでは [設定] の [統合] ページが利用できないため、この統合はチーム ダッシュボードからのみ追加できます。

統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。

そのためには、次の手順に従います。

  1. Teams からチーム ダッシュボードに移動します。

  2. [統合] > [統合を追加] の順に選択します。

残りの手順に従って統合を完了します。

  1. [設定] > [統合] の順に移動します。CloudWatch を検索して [追加] を選択します。 

  2. [応答者] フィールドによって CloudWatch アラートの通知先を指定します。入力し始めると、オートコンプリートの候補が表示されます。

  3. 統合 URL をコピーします。

  4. [Save Integration (統合の保存)] を選択します。

CloudWatch でアラームを設定する

  1. Opsgenie という名前で SNS トピックを作成します

CloudWatch SNS トピック

2. Opsgenie API エンドポイントを使用して、トピックに HTTPS サブスクリプションを追加しますCloudWatchOpsgenie のインテグレーション ページから提供された URL を使用します (以下を参照)。

https://api.opsgenie.com/v1/json/cloudwatch?apiKey=integrationApiKey

CloudWatch サブスクリプションの作成

Opsgenie への SNS サブスクリプションを正常に設定すると、Opsgenie に確認アラートが作成されます。

CloudWatch 確認アラート

3. 任意のメトリックで CloudWatch アラームを作成し、アクションとして SNS トピックを選択します。

CloudWatch 警告アクション

CloudWatch のアラーム名に、一意性と読みやすさを考慮して、リソース名とメトリックス名が含まれていることを確認します。例: SQS Queue chat_webhook messageCount Too High
ALARM、OKINSUFFICIENT のすべての状態について通知が Opsgenie に送信されることを確認します。状態が ALARM の通知によってアラートが作成されと [OK] および [INSUFFICIENT] 状態の通知はデフォルトで一致するアラートをクローズします。

デフォルトでは、Opsgenie インテグレーションは Region - AlarmName を使用して各アラートのエイリアスを作成します。これにより、Opsgenie は各 CloudWatch アラームを一意に識別し、それらを作成し、クローズします。

テスト アラート

  1. CloudWatch でアラームの通知を設定した後、テスト目的で CloudWatch でアラームのしきい値を変更し、アラームを作成するようにします。

  2. アラーム条件が満たされると、AWS CloudWatch はアラームの詳細を Opsgenie に渡し、Opsgenie は受信者の通知設定に基づいて指定されたユーザー (受信者パラメーター) に通知します。Opsgenie アラートには、CloudWatch によって提供されるすべての関連情報が含まれています。

CloudWatch アラートの詳細

3. CloudWatch でのテストが完了したら、必ず CloudWatch アラームしきい値の設定を元に戻してください。

CloudWatch から送信されるペイロードの例

アラートのペイロードを作成します。

JSON

1 2 3 4 5 6 7 8 9 10 11 12 { "Type": "Notification", "MessageId": "1cf7a0eb-4179-4181-b15b-ea22c5aa0280", "TopicArn": "arn:aws:sns:us-east-1:08931xxxxxx:CloudWatchHTTPAlarms", "Subject": "ALARM: \"cpuUtilTest\" in US - N. Virginia", "Message": "{\"AlarmName\":\"cpuUtilTest\",\"AlarmDescription\":\"testing alarms for cpu utilization\",\"AWSAccountId\":\"08931xxxxxx\",\"NewStateValue\":\"ALARM\",\"OldStateValue\":\"OK\",\"NewStateReason\":\"Threshold Crossed: 1 datapoint (5.199) was greater than or equal to the threshold (5.0).\",\"StateChangeTime\":\"2012-08-05T22:31:25.524+0000\",\"Region\":\"US - N. Virginia\",\"Trigger\":{\"MetricName\":\"CPUUtilization\",\"Namespace\":\"AWS/EC2\",\"Statistic\":\"AVERAGE\",\"Unit\":null,\"Dimensions\":[{\"name\":\"InstanceId\",\"value\":\"i-39e64c5f\"}],\"Period\":900,\"EvaluationPeriods\":1,\"ComparisonOperator\":\"GreaterThanOrEqualToThreshold\",\"Threshold\":5.0}}", "Timestamp": "2012-08-05T22:31:30.673Z", "SignatureVersion": "1", "Signature": "XrsO2wtE0b+ofOl1ZxxxxxxxxlimTUg+rV4U9RmNSSBEdlmyWvtGgpjebsmNv1wkjUsBQOJZjZnpZp5FBn6quAn3twNdRMmMLf15lv6ESbYFxxxxxxxx0vmjj/ZLwiH9Pr/cxVYxxxxxxxYn8w6g=", "SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-f3ecfb7224c72xxxxxxxxx6de52f.pem", "UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:08931xxxxxxxx:CloudWatchHTTPAlarms:1841c5ca-ddda-450e-bbfb-xxxxxxxxx" }

このペイロードは Opsgenie によって次のように解析されます。

JSON

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 { "TopicArn": "arn:aws:sns:us-east-1:08931xxxxxxx:CloudWatchHTTPAlarms", "AlarmName": "cpuUtilTest", "Subject": "ALARM: \"cpuUtilTest\" in US - N. Virginia", "AlarmDescription": "testing alarms for cpu utilization", "NewStateReason": "Threshold Crossed: 1 datapoint (5.199) was greater than or equal to the threshold (5.0).", "NewStateValue": "ALARM", "OldStateValue": "OK", "StateChangeTime": "2012-08-05T22:31:25.524+0000", "Region": "US - N. Virginia", "Trigger": { "MetricName": "CPUUtilization", "Namespace": "AWS/EC2", "Statistic": "AVERAGE", "Unit": null, "Dimensions": [ { "name": "InstanceId", "value": "i-39e64c5f" } ], "Period": 900, "EvaluationPeriods": 1, "ComparisonOperator": "GreaterThanOrEqualToThreshold", "Threshold": 5 } }

AWS CloudWatch インテグレーションは、2015 年 12 月 8 日に更新され、状態が INSUFFICIENTCloudWatch イベントに対応しました。この更新後、デフォルトでは、状態が ALARM のイベントはアラートを生成し、状態が OKINSUFFICIENT のイベントは、この更新後にデフォルトで一致するアラートをクローズします。したがって、Opsgenie に送信される CloudWatch イベントにも INSUFFICIENT の状態が含まれていることを確認してください。

AWS CloudWatch インテグレーションの詳細設定を使用する場合は、フィルタリング条件ルールを次のように設定し、AWS CloudWatch インテグレーションを上記のとおりに動作させるようにします。

  • NewStateValue が ALARM の場合に一致する [アラートの作成] のフィルタリング ルール。

  • NewStateValue が ALARM でない 場合に一致する [アラートのクローズ] のフィルタリング ルール。*

その他のヘルプ