ユーザーとして Opsgenie の利用を開始する
プロフィールの設定、Opsgenie からの通知の取得、オンコール スケジュールの表示に関するすべての方法を説明します。
Lambda は、サーバーなしでコードを実行する AWS のコンピューティング サービスです。AWS Lambda は、インテグレーションを含む多くのユースケース、特に Opsgenie や Jira のような SaaS ソリューションを統合する場合に最適なソリューションです。
インストール
次のステップでは、AWS API ゲートウェイと Lambda サービスによって Opsgenie と Jira を統合する方法について説明します。
AWS Lambda コンソールに移動します。
AWS Lambda に初めてアクセスする場合は、ようこそ画面が表示されます。[今すぐ始める] をクリックします。
[ブランク機能] をクリックして、ブループリントを選択します。
関数トリガーとして [API ゲートウェイ] を選択します。
API ゲートウェイ エンドポイントの API 名を入力します。例: OpsgenieJIRAIntegrationAPI
[デプロイメント ステージ] として [prod] を選択し、[セキュリティ] オプションとして [オープン] を選択します。
[次へ] をクリックします。
Lambda 関数の名前を入力します (例: opsGeniejiraIntegration)。
説明: 必要に応じて入力するか空白のままにします。
ランタイム: [Node.js] およびコード エントリ タイプ: [コードをインラインで編集]。
ogLambdaJira.js から JavaScript コードをインライン エディターに貼り付けます。
コードの最初には、Opsgenie と Jira のアカウント情報に応じて設定するオプションがいくつかあります。
Jira (アトラシアンから) のホスト バージョンが使用されている場合は、Jira アカウント名に置き換えます。
Jira のカスタム インストールが使用されている場合は、それに応じて jiraHost、jiraBasePath、jiraProtocol、jiraPort の各変数を更新します。
Opsgenie が別のドメイン (例: EU、サンドボックス) から使用されている場合は、OGHost を更新してください。
デフォルトの API インテグレーションまたはその他の API インテグレーションの Opsgenie API キーに置き換えます。
Jira アカウントに応じて正しい値を入力します。
Opsgenie に作成されたアラートごとに、Jira プロジェクト内に新しい Jira 問題が作成されます。問題が作成されるプロジェクトを決定できるように、コードには 2 つの設定があります。
AlertTagToJiraProjectKey マップを使用して、アラート タグを Jira プロジェクト キーに関連付けます。
jiraDefaultProjectKey は、タグ キー マッピングのいずれもアラートから照合できない場合に使用されるデフォルトの Jira プロジェクトキーの略です。
Jira インストールにプロジェクトが 1 つしかない、または同じ Jira プロジェクト内にすべての問題を作成する場合は、そのキーをデフォルトとして入力してマッピングを空の配列のままにします。
Handler の値を index.handler のままにし、[ロール] に [カスタムロールを作成] を選択します。
新しく開いたウィンドウで [許可] をクリックして、Amazon CloudWatch にログを送信するために必要なアクセス許可を Lambda 関数に付与します。
万が一のために、[詳細設定] ペインで [タイムアウト値] に 5 を選択します。[メモリ] の値は 128 のままにしておきます。この値は今回は十分な値です。
[機能の設定] ページのすべての手順を完了したら、[次へ] をクリックします。
次のページで [関数の作成] をクリックします。
[AWS] > [サービス] > [API ゲートウェイ] の順に移動します。
左側のメニューの [API] タブで、lambda スクリプト用に作成した API を選択します。
[/your_lambda_function_name] の下にある [任意] をクリックします。
上の [アクション] をクリックして、[メソッドのアクション] の [メソッドの削除] を選択します。
削除アクションを確認します。
[アクション] をもう一度クリックし、[リソース アクション] の下の [メソッドの作成] を選択します。
新しく作成したコンボボックスで [POST] を選択します。
チェック マークをクリックします。新しいページが開きます。
Lambda のリージョンを選択します。
lambda 関数の名前をフィールドに入力します。
ページの右下にある [保存] をクリックします。
[Lambda 関数への権限の追加] ダイアログを確認します。
もう一度 [アクション] をクリックし、[API アクション] で [API をデプロイ] を選択します。
[デプロイ ステージ] として [prod] を選択します。
[デプロイ] をクリックします。
[設定] → [統合] の順に移動します。Webhook を検索して [追加] を選択します。
AWS API Gateway が提供した API エンドポイントを [Webhook URL] テキスト フィールドに入力します。
問題として Jira インストールにすべてのアラートを送信しないことで、テストの信頼性を高めるには、「jira」などのタグにタグの一致条件を含むアラート フィルターを追加します。統合に名前を付けます。この例では、LambdaJiraWebhook という名前にしました。
インテグレーションを設定したら、[インテグレーションを保存] をクリックします。
これでテストする準備ができました。jira タグで新しいアラートを作成します。
以前に設定されたデフォルトの Jira プロジェクトに移動し、アラートから問題が作成されるのを確認します。
また、作成したアラートに jiraProjectKey: プレフィックスが付いた新しいタグが割り当てられていることを確認します。このタグは、この Opsgenie アラートをタグに含まれている Jira の課題に関連付けるために使用されます。
新しいアラートの作成時に新しい Jira の問題を作成するほか、この統合では次のフローも実装されます。
アラートに新しいメモを追加すると、新しいコメントが課題に追加されます
アラートを承認すると、問題の進捗状況が開始されます
アラートをクローズするか削除すると、問題もクローズされます。
これらのすべてのフローは、以下のシーケンス図に示されています。図の中のすべての項目は代表的なものであり、上記のシステムの実際の実装を反映していない可能性があることに注意してください。
もちろん、独自の要件を満たすためにコードをさらにカスタマイズすることができます。
また、コンソール オブジェクト上に書き込んだログや AWS Lambda ランタイムが書き込んだログについても、CloudWatch ログを確認できます。最初に CloudWatch コンソールに移動します。
[ログ] をクリックします。
Lambda 関数に関連付けられた [ログ グループ]をクリックします。
Last Event Time (最後のイベント時間) 別にソートした最後のログ ストリームのいずれかをクリックします。たとえば、最新のログ ストリームをクリックします。
ランタイムと関数自体によって書き込まれたログをチェックします。
API ゲートウェイ コンソールをチェックし、自動的に作成および設定されている内容を確認できます。最初にサービス コンソールに進んでください。
次に、API である OpsGenieJiraIntegrationAPI をクリックし、セットアップされた内容を調べます。API を最初から作成し、API Gateway コンソールから Lambda 関数に関連付けることもできますが、Lambdaコンソールにはショートカットが用意されており、一部の詳細はそれ自体が管理します。
Jira のインストールの設定が原因で問題が発生する可能性があります。Jira は柔軟なシステムであり、その中心的な機能の一部が、ご使用のインストールに含まれていないか、異なる設定になっているか、API にアクセスするユーザーがそれらを使用するのに必要な権限を持っていない可能性があります。
Lambda 関数には、インストールに関する以下のような 3 つの前提条件があり、コードの中にハードコードされています。
「Bug」という名前の課題タイプがあります
課題の進捗状況を開始できます。このアクションのトランジション ID は「4」です。
問題をクローズでき、このアクションのトランジション ID は「2」です。
インストールに対してコードをスムーズに実行するには、これらの値を変更する必要があります。
特定の問題で利用可能なトランジションを確認するには、Jira インストールの REST API エンドポイントに対して次の呼び出しを行います。
https://docs.atlassian.com/jira/REST/latest/#d2e4188
特定の課題で利用可能なトランジションを確認するには、Jira インストールの REST API エンドポイントに対して次の呼び出しを行います。
https://docs.atlassian.com/jira/REST/latest/#d2e797
このドキュメントに付随するように作成された Jira プロジェクトのタイプは、[Jira の既定のスキーム] です。
この内容はお役に立ちましたか?