IBM Bluemix インテグレーションガイド

Project Description

本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。


IBM Bluemixクラウド・プラットフォームは、実際の問題を解決し、アプリケーション、インフラストラクチャー、サービスなどでビジネスを推進するに役立ちます。 Bluemixは、複数のデータソースの統合、システムの拡張、コグニティブ(認識)サービスの組み込みにより、ビジネス価値を迅速かつ安価に推進することも可能になります。

 

PagerDutyでの設定

  1. Configuration</bメニューからServicesを選択します。
  2. Servicesページで:

新しいサービスを作成する場合はServiceページで+Add New Serviceをクリックします。

既存のサービスに追加する場合は、サービスの名前をクリックします。その後Integrationsタブをクリックし、+New Integrationボタンをクリックします。

  1. Integration Typeメニューから追加したいアプリケーションを選択し、Integration Nameを入力します。

新しいサービスを作成する場合は、General Settingsで、新しいサービスのNameを入力します。次に、Incident Settingsで、新しいサービスのEscalation Policy(エスカレーションポリシー)、Notification Urgency通知の緊急性)Incident Behavior(事件の動作)を指定します。

  1. Add ServiceまたはAdd Integrationボタンをクリックして、インテグレーションを保存します。するとサービスのIntegrationsページに回送されます。

  1. 新しいインテグレーションのIntegration Emailをコピーします。

 

IBM Bluemixでの設定

  1. 次のJavaScript codeをコピーしてください。
// This action will trigger or resolve an incident within PagerDuty
//
// The params object passed to the action should be a payload formatted for the PagerDuty Events API
// The params object must contain a "service_key" and "description". The "event_type" will default to "trigger".
//
// https://v2.developer.pagerduty.com/docs/trigger-events

var request = require('request');

function main(params) {
	// Check for required params
	if (!params.service_key || !params.description) { throw 'params must include service_key and description'; }
	if (!params.event_type) { params.event_type = 'trigger'; }

	console.log(`Params: ${JSON.stringify(params)}`);

	// Set request options
	var options = {
		url: 'https://events.pagerduty.com/generic/2010-04-15/create_event.json',
		method: 'POST',
		json: true,
		body: params
	};

	// Make POST request
	return new Promise(function(resolve, reject) {
		request(options, function(error, response, body) {
			if (error) {
				reject(error);
			}
			else {
				resolve(body);
			}
		});
	});
}
  1. OpenWhisk Editorを開きます。
  2. Create an actionをクリックします。
  3. 上記でコピーしたコードをエディタに貼り付けます。
  4. Make It Liveをクリックします。

 

よくある質問

私のアクションにどのようなパラメータを渡すことができますか?

OpenWhiskアクションは、Events API v1で受け入れられるすべてのパラメータを取り込む(インジェスト)できます 。

どうすればこのアクションを使用してインシデントをトリガすることができますか?

Events API v1でインシデントをトリガするようにパラメータが設定されたOpenWhiskアクションを発動することで、PagerDutyでインシデントトリガを使えます。 たとえば、以下のコマンドはOpenWhisk CLIを使用して、インシデントをトリガしたものです。ここで、インテグレーションキーはbdb63026b4514cd7b143604f460cca30fです。このコマンドは、アクションの名前がPagerdutyであることを前提としています。

wsk action invoke pagerduty –blocking –result –param event_type trigger –param description “Server is on fire” –param service_key bdb63026b4514cd7b143604f460cca30f

 

このアクションを使用してインシデントを管理はどうすればよいですか?

インシデントを管理するには、管理するインシデントのincident_keyとインシデントの更新状態のevent_typeを指定して、PagerDutyアクションを発動することが必要です。 以下は、それぞれインシデントを承認して解決する 2つの例です。

wsk action invoke pagerduty –blocking –result –param event_type acknowledge –param service_key bdb63026b4514cd7b143604f460cca30f –param incident_key 8e6cd11a23a34985b4a94fd556326132

wsk action invoke pagerduty –blocking –result –param event_type resolve –param service_key bdb63026b4514cd7b143604f460cca30f –param incident_key 8e6cd11a23a34985b4a94fd556326132

Project Details