DOCS
インテグレーションガイド / ServiceNow Express
本記事は米国PagerDuty社のサイトで公開されているインテグレーションガイドをそのまま日本語に翻訳したものです。日本語環境での動作を保証するわけではありません。原文はこちらを参照してください。
このインテグレーションは、廃止準備期間に入ったv1 REST API を使うものです。v1 REST API の廃止予定に関しては次のFAQをご覧ください。 https://v2.developer.pagerduty.com/v2/docs/v1-rest-api-decommissioning-faq
ServiceNow Expressは、中小企業向けに高度な自動化とプロセスワークフローを提供するプラットフォームです。ServiceNow Expressをインテグレートすることにより、PagerDutyの堅牢なオンコールスケジューリングと通知、エスカレーションにより、ServiceNowのワークフローとチケット機能を活用することができます。
ServiceNow ExpressとPagerDuty間は双方向通信がサポートされているため、インシデントの確認、委任(別のグループに割り当て)、解決がどちらのシステムからでも可能です。次の3種類のワークフローがサポートされています。
-
ユーザーはPagerDutyを通知にのみ使用できます。通知後はServiceNowを使用してインシデントの割り当て、調査、解決を行います。
-
ユーザーはPagerDutyから通知を受け取り、PagerDutyを介して(確認応答によって)インシデントの所有権を取得し、ServiceNowを使用して調査と解決を行います。
-
ユーザーはPagerDutyを使用して通知を受け取り、その後、インシデントの所有権を(確認応答によって)取得し、インシデントを解決します。
次の図は上記のワークフローです。
このガイドはPagerDutyと環境を統合するプロセスの解説で、ServiceNow Expressの認定を受けています。ServiceNow Enterpriseには、別のインテグレーションの方法が用意されています。
ServiceNowでの作業
PagerDutyアプリケーションをインストールする
-
ServiceNow Storeにログインして、PagerDuty Incident Resolution Platform for Expressのアプリケーションを検索します。
-
Getをクリックして、アプリケーションをインストール可能にします。
-
ServiceNow Expressにadminとしてログインします。
-
Application Configuration → Store Applicationsに進み、Downloadsタブをクリックして新しいアプリケーションを表示します。
-
PagerDutyアプリケーションでInstallをクリックします。
PagerDutyユーザーを作成する
PagerDutyのwebhookを処理するには、ServiceNowユーザーアカウントが必要です。既存のユーザーアカウントを使用するのではなく、PagerDuty用のサービスアカウントを作成することをお勧めします。
-
User Administration → Usersに進み、Newをクリックします。
-
例えば 「
pagerduty.webhook
」 などのUser IDを入力し、パスワードを入力して、admin
とx_pd_integration_xadmin
権限をこのユーザーに割り当てます。
ビューにPagerDutyフィールドを追加する
- User
- PagerDuty ID
- Group
- PagerDuty service
- PagerDuty escalation
- Incident
- PagerDuty ID
PagerDutyでの作業
PagerDutyにadminまたはアカウント所有者としてログインします。
REST APIキーを作成する
-
Configuration → API Accessに移動し、Create New API Keyをクリックします。 注:PagerDutyに管理者またはアカウント所有者としてログインしていない場合や、アカウントの料金プランにAPIアクセスが含まれていない場合は、APIアクセスは表示されません。
-
「ServiceNow Express」など新しいキーの説明をDecriptionに入力し、このキーのAPI versionをv1 Legacyに設定してから、Create Keyをクリックします。 注:現時点でServiceNow Expressではv2 Currentを選択することはできません。
-
Create Keyをクリックすると、キーを表示したダイアログが表示され、前の手順で記入したオプションの確認になります。
ダイアログを閉じる前にこのキーをコピーしてください。この後はキーを再度表示ことはできません。作成したキーをなくした場合、再度アクセスするにはキーを削除して新しいキーを作成する必要があります。キーを正常にコピーしたらCloseをクリックします。
ServiceNowでの作業
PagerDutyアプリケーションを設定する
-
PagerDuty for Express → Configuration → Propertiesに移動します 。
-
PagerDutyアカウントURLをPagerDuty instance URLとREST API endpoint URLフィールドに入力し、PagerDutyのAPI Access keyを貼り付け、PagerDuty webhookを処理するために作成したServiceNowのユーザーアカウントとパスワードを入力します。
-
インテグレーションを有効化するために、PagerDuty for Express → Test REST API Connectionに進みます。すべてが正常に動作している場合は
「Connection test successful (200)」
が表示されます。
追加のプロパティ
-
lowest priority incident that will trigger a PagerDuty incident(PagerDutyのインシデントをトリガーする最も優先度の低いインシデント):トリガーしたいServiceNowインシデントの優先度を入力してください
-
Only assign based on an acknowledgment from PagerDuty user(PagerDutyユーザーからの確認に基づいてのみ割り当て):有効にするとインシデントがPagerDutyで確認されたときにServiceNowでのみPagerDutyの割り当てが更新されます
-
Automatically create a PagerDuty user if one is not found matching the user’s email(ユーザーの電子メールに一致するものが見つからない場合、PagerDutyユーザーを自動的に作成):PagerDutyでユーザーが見つからない場合、ServiceNowユーザーの電子メールアドレスに基づいて自動的にPagerDutyユーザーが作成されます
-
Default PagerDuty User ID to use if auto-provisioning is disabled(自動プロビジョニングが無効な場合に使用するデフォルトのPagerDutyユーザーID):アクションを実行するServiceNowユーザーのPagerDutyアカウントが識別できない場合に使用する、有効なPagerDutyのユーザーIDを入力します
割り当てグループをPagerDutyにプロビジョニングする
ServiceNowには、割り当てグループの概念があります。PagerDutyとのインテグレーションでは、各割り当てグループに対応するPagerDutyサービスとエスカレーションポリシーが用意されています。インテグレーションにより、新しいPagerDutyサービスとエスカレーションポリシーを迅速に生成する簡単な方法が提供されます。また、ServiceNow内の関連フィールドも入力します。
-
以下は、ServiceNowインスタンス内のすべての割り当てグループのリストです。リストされたグループのPagerDuty serviceとPagerDuty escalationフィールドが空であることに注目してください。
-
次に、PagerDutyにプロビジョニングする割り当てグループを選択します。この場合はService Deskグループとしています。Provision PagerDuty Serviceリンクをクリックして、このグループをPagerDutyにデプロイします。
-
割り当てグループが作成されることがユーザーに通知されます。その後、PagerDuty serviceとPagerDuty escalationフィールドが入力されます。
-
最後に、対応するサービスとエスカレーションポリシーがPagerDuty内で作成されていることがわかります。このサービスには、PagerDutyとServiceNowの間の双方向同期に必要なwebhookも自動的に作成されます。webhookには、先ほど設定した
pagerduty.webhook
ユーザーの資格情報も含まれています。
PagerDutyへのユーザーのプロビジョニング
このインテグレーションにより、ServiceNowからPagerDutyへのユーザのプロビジョニングも可能になります。プロビジョニングの唯一の要件は、PagerDutyでプロビジョニングするためにServiceNowに電子メールアドレスを設定する必要があることです。
さらに、ServiceNowプロファイルにBusiness phoneまたはMobile phoneが設定されている場合、これらの番号は新しいPagerDutyアカウントで連絡方法と通知ルールとしてプロビジョニングされます。
以下はServiceNowユーザーの一覧です。PagerDuty IDフィールドが入力されていることにより、PagerDutyですでに作成されているユーザーをすばやく確認できます。
単一のユーザーをプロビジョニングする
-
PagerDutyにまだプロビジョニングされていないユーザーを選択します。Provision PagerDuty Userリンクをクリックして、PagerDutyアカウントに追加することができます。
-
ユーザーがプロビジョニングされているという通知が表示されます。PagerDuty IDフィールドが自動的に入力されます。
一度に複数のユーザーをプロビジョニングする
複数のユーザーを一度にプロビジョニングするには、ユーザーを選択し、UsersページのドロップダウンメニューからProvision PagerDuty Userオプションを選択します。
ServiceNowとPagerDutyが通信していることを確認する
ServiceNowのPagerDuty対応グループにインシデントを割り当てることで、相互に通信していることを確認できます。以下は、PagerDutyサービスに結びついているService Deskグループに割り当てられたインシデントです。その後、PagerDuty内で認識され、PagerDutyで割り当てられたユーザーによって追加されたメモがServiceNowにインポートされました。
インシデントがPagerDutyで解決されるとServiceNowでも解決になります。その逆も同様です。ServiceNowはPagerDuty内で行われた活動のログも保持します。
よくある質問
ServiceNow Expressに関連付けられたPagerDutyサービスを手動で作成できますか?
はい。PagerDutyで新しいサービスを作成し、最初のインテグレーションタイプとしてServiceNowを選択するか、既存のサービスにServiceNowを追加することで可能です。その際、PagerDuty Service IDとEscalation Policy IDをServiceNowグループのPagerDutyサービスとPagerDutyエスカレーションフィールドに入力して、PagerDutyサービスとServiceNowグループを結びつける必要があります。その後、次のようにしてPagerDutyサービスにServiceNow webhookを追加します。
-
サービス画面に行き、IntegrationsタブをクリックしてそこからAdd an extensionをクリックします。
-
Extension TypeでServiceNow Expressを選択するには、ExtensionのNameを入力し、PagerDutyアプリのwebhook URLを入力します。
https://<subdomain>.service- now.com/api/x_pd_integration_x/pagerduty_webhook
PagerDuty用に作成したServiceNowユーザーアカウントのUser nameとPasswordも入力する必要があります。
-
Saveをクリックします。
-