Amazon DevOps Guru と統合する
この記事では、Jira Service Management Cloud の一部のお客様に段階的に展開されている、Jira Service Management でネイティブに利用できる新しいアラート機能を取り上げています。ご利用のサイトにはまだ表示されていないか、利用できない可能性があります。
Amazon DevOps Guru は、機械学習を使用してリソースのテレメトリを分析し、潜在的な運用上の問題を特定して是正措置を推奨することで、アプリ可用性を向上させる運用ツールです。
統合でできるようになること
Jira Service Management は DevOps Guru で生成されるインサイトのディスパッチャーとして機能して、オンコール スケジュールに基づいて通知する適切な担当者を決定します。メール、テキスト メッセージ (SMS)、電話、iPhone や Android のプッシュ通知によって通知して、アラートが確認されるかクローズされるまでアラートをエスカレートします。DevOps Guru はインサイトを生成し、Jira Service Management は適切な担当者がそのインサイトに取り組むことを保証します。
統合による機能
DevOps Guru でインサイトが生成されると、統合によって Jira Service Management にアラートが自動的に作成され、インサイトの種類と重大度に基づいて優先度が付けられます。
DevOps Guru でインサイトが解決されると、統合によって関連するアラートが Jira Service Management で自動的にクローズされます。
DevOps Guru がインサイトに異常を追加すると、Jira Service Management アラートにメモとして反映されます。
統合をセットアップする
Amazon DevOps Guru は API ベースの統合です。設定は次の手順で行います。
Jira Service Management で DevOps Guru 統合を追加する
DevOps Guru で統合を設定する
DevOps Guru 統合を追加する
双方向統合は Free プランと Standard プランではサポートされていません。他のすべての統合は Free と Standard でチーム レベルでサポートされています。ただし、送信統合を機能させるには、上位のプランにアップグレードする必要があります。Settings (歯車アイコン) > Products (Jira 設定の下) > OPERATIONS からサイト レベルで統合を追加できるのは、Premium プランと Enterprise プランのみです。
統合をチームの運用ページから追加すると、そのチームが統合の所有者になります。つまり、Jira Service Management は、この統合を通じて受信したアラートをチームにのみ割り当てます。
Jira Service Management で DevOps Guru 統合を追加するには、次の手順を実行します。
チームの運用ページに移動します。
左側のナビゲーション パネルで、[統合]、[統合を追加] の順に選択します。
検索を実行して「DevOps Guru」を選択します。
次の画面で、統合の名前を入力します。
オプション: 特定のチームが統合からのアラートを受信するようにする場合は、[Assignee team (担当者チーム)] のチームを選択します。
[続行] を選択します。
この時点で、統合が保存されます。[統合を設定するステップ] セクションを展開して、API URL をコピーします。
この URL は、後ほど DevOps Guru で統合を設定する際に使用します。[統合をオンにする] を選択します。
統合のために作成したルールは、統合をオンにした場合にのみ機能します。
Jira Service Management にメッセージを送信するように Amazon SNS を設定する
Amazon SNS を設定して Jira Service Management に SNS メッセージを送信するには、次の手順に従います。
Amazon SNS コンソールで、[トピック] を選択します。
[Create topic (トピックを作成)] を選択します。
[Type (タイプ)] で、[Standard (標準)] を選択します。
トピックの名前を入力します。たとえば、「operational-insights」のようにします。
既定の設定をそのままにするか、ニーズに合わせて設定します。
[Create Topic (トピックを作成)] を選択します。
[Subscriptions (購読)] セクションまでスクロールして、[Create subscription (購読を作成)] を選択します。
[Protocol (プロトコル)] は、[HTTPS] を選択します。
エンドポイントには、以前に Jira Service Management からコピーしたサブスクリプション URL を使用します。
残りのオプションはそのままにするか、ニーズに合わせて設定します。
[Create subscription (登録を作成)] を選択します。
サブスクリプションを作成すると、Amazon SNS はユーザーの Jira Service Management 統合に確認メッセージを送信し、Jira Service Management はそれを自動的に承認します。確認アラートが届くはずです。
Amazon DevOps Guru を設定する
DevOps Guru コンソールを初めて閲覧する際に、DevOps Guru が自分のアカウントで動作できるようにします。
DevOps Guru コンソールで、[Get Started (開始)] を選択します。
すでに DevOps Guru を有効にしている場合は、[Settings (設定)] を選択して SNS トピックを追加します。
監視するリソースを選択します。
[Select an existing SNS topic (既存の SNS トピックを選択)] を選択します。
以前に作成したトピックを選択します (operational-insights)。
[Add SNS topic (SNS トピックを追加)] を選択します。
[Enable (有効にする)] を選択します (すでにサービスを有効にしている場合は [保存])。
DevOps Guru から送信されたサンプル ペイロード
アラートのペイロードを作成する
JSON
1
2
3
4
5
6
7
8
9
10
11
{
"Type": "Notification",
"MessageId": "1cf7a0eb-4179-4181-b15b-ea22c5aa0280",
"TopicArn": "arn:aws:sns:us-east-1:089311581210:test-sns",
"Message":"{\"AccountId\":\"123456789012\",\"InsightId\":\"abc123a7-17a3-46d9-b895-1ae38317ced2\",\"InsightDescription\":\"Lambda Errors Anomalous\",\"InsightUrl\":\"https://console.aws.amazon.com/codeguru/devopsguru?#/insight/reactive/ABCDabcdAAAAAAAAAcXzDoJsi_kvAhzmKKUGk6CSixyzABC\",\"Region\":\"us-east-1\",\"InsightSeverity\":\"low\",\"MessageType\":\"NEW_INSIGHT\",\"InsightType\":\"REACTIVE\",\"StartTime\":\"Jan 24th 2010 4:55:123\",\"EndTime\":\"Jan 24th 2010 4:55:123\",\"Anomalies\":[{\"Id\":\"123abcd1-62cb-4161-986c-0be917d42706\",\"StartTime\":\"Jan 24th 2010 2:55:123\",\"EndTime\":\"Jan 24th 2010 3:55:123\",\"DataIdentifiers\":{\"Namespace\":\"AWS/DynamoDB\",\"Metric\":\"ConsumedReadCapacityUnits\",\"stats\":\"Sum\",\"Resources\":[{\"ResourceType\":\"Table\",\"ResourceId\":\"arn:..../tablename\"}]}}],\"Recommendations\":[{\"Title\":\"Configure provisioned concurrency for Lambda\",\"Description\":\"Your Lambda function is having trouble scaling. See this link to learn how to enable provisioned...\",\"Reason\":\"The Duration metric in Lambda breached a high threshold.\",\"Url\":\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-provisioned\",\"RelatedMetrics\":[],\"RelatedEvents\":[]}]}",
"Timestamp": "2012-08-05T22:31:30.673Z",
"SignatureVersion": "1",
"Signature": "XrsO2wtE0b+ofOl1Z85tqLqQn1fMuv07uRttlimTUg+rV4U9RmNSSBEdlmyWvtGgpjebsmNv1wkjUsBQOJZjZnpZp5FBn6quAn3twNdRMmMLf15lv6ESbYF8mpFHwmMhgWVkgq60vmjj/ZLwiH9Pr/cxVYOR0aPQBPDwTYn8w6g=",
"SigningCertURL": "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL": "https://sns.us-east-1.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-east-1:089311581210:CloudWatchHTTPAlarms:1841c5ca-ddda-450e-bbfb-bf0cf15813db"
}
Jira Service Management ではペイロードは次のように解析されます。
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
"TopicArn": "arn:aws:sns:us-east-1:089311581210:test-sns",
"AccountId": "123456789012",
"InsightId": "abc123a7-17a3-46d9-b895-1ae38317ced2",
"InsightDescription": "Lambda Errors Anomalous",
"InsightUrl": "https://console.aws.amazon.com/codeguru/devopsguru?#/insight/reactive/ABCDabcdAAAAAAAAAcXzDoJsi_kvAhzmKKUGk6CSixyzABC",
"Region": "us-east-1",
"InsightSeverity": "low",
"MessageType": "NEW_INSIGHT",
"InsightType": "REACTIVE",
"StartTime": "Jan 24th 2010 4:55:123",
"EndTime": "Jan 24th 2010 4:55:123",
"AnomalyDetails": [
{
"Id": "AP8fPq2F7cSqdkgAWTkeU2YAAAF1_GN9YIxzoKM_WkDOJim_ozMyiajN5VGZ5zqg",
"StartTime": 1606257180000,
"EndTime": 1606260300000,
"SourceDetails": [
{
"DataSource": "CW_METRICS",
"DataIdentifiers": {
"name": "Duration",
"namespace": "AWS/Lambda",
"period": "60",
"stat": "Average",
"unit": "None",
"dimensions": "{\"FunctionName\": \"awscodestar-random-lambda-GetHelloWorld\"}"
}
}
]
}
],
"Recommendations": [
{
"Title": "Configure provisioned concurrency for Lambda",
"Description": "Your Lambda function is having trouble scaling. See this link to learn how to enable provisioned...",
"Reason": "The Duration metric in Lambda breached a high threshold.",
"Url": "https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html#configuration-concurrency-provisioned",
"RelatedMetrics": [ ],
"RelatedEvents": [ ]
}
]
}
この内容はお役に立ちましたか?