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

Opsgenie を Amazon CloudWatch と統合する

概要

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

統合でできるようになること

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

統合による機能

CloudWatch でアラートが作成されると、統合を介して Opsgenie でアラートが自動で作成されます。CloudWatch でアラートがクローズされると、統合を介して Opsgenie で関連するアラートが自動的にクローズされます。

統合をセットアップする

AWS CloudWatch は API ベースの統合です。設定は次の手順で行います。

  • Opsgenie で AWS CloudWatch 統合を追加する

  • AWS CloudWatch でアラームを設定する

Amazon CloudWatch 統合を追加する

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

  1. [チーム] に移動して自分のチームを選択します。

  2. 左側のナビゲーションで [統合] を選択し、[統合を追加] を選択します。

統合をチーム ダッシュボードから追加すると、そのチーム統合の所有者になります。Opsgenie では、この統合を通じて受信したアラートはそのチームのみに割り当てられます。このセクションの残りの手順に従って、統合を設定してください。

Opsgenie で AWS CloudWatch 統合を追加する方法は次のとおりです。

  1. [設定] > [統合] の順に移動します。

  2. [統合を追加] を選択します。

  3. 検索を実行して「AWS CloudWatch」を選択します。

  4. 次の画面で、統合の名前を入力します。

  5. オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。

  6. [続行] を選択します。
    この時点で、統合が保存されます。

  7. [統合を設定する手順] セクションを展開し、アカウント用に生成されたエンドポイント URL をコピーします。
    この URL は、後ほど AWS CloudWatch で統合を設定する際に使用します。

  8. [統合をオンにする] を選択します。
    統合のために作成したルールは、統合をオンにした場合にのみ機能します。

CloudWatch でアラームを設定する

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

2. Opsgenie API エンドポイント URL を使用して、トピックに HTTPS サブスクリプションを追加します。これは、Opsgenie で統合を追加する際にコピーしたエンドポイント URL です。

CloudWatch SNS トピック

設定が正常に完了すると、Opsgenie で確認のアラートが作成されます。

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

CloudWatch 警告アクション

一意性と読みやすさを考慮して、アラーム名にリソース名とメトリック名を含めるようにします。たとえば、「SQS Queue chat_webhook messageCount Too High」などです。ALARM、OK、INSUFFICIENT のすべての状態についての通知が Opsgenie に送信されることを確認します。状態が ALARM の通知によってアラートが作成されると、OK および INSUFFICIENT 状態の通知は既定で一致するアラートをクローズします。

この統合では、既定で Region - AlarmName を使用して各アラートのエイリアスが作成されます。このように、Opsgenie では各 CloudWatch アラームが一意に識別、作成、クローズされます。

アラートをテストする

  1. CloudWatch でアラームの通知をセットアップしたら、アラームが作成されるようにテスト目的でアラームのしきい値を変更します。

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

  3. テストが完了したら、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 } }

その他のヘルプ