Coppereggインテグレーションガイド

Project Description

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


Coppereggは、SaaSベースのサーバー監視サービスで、パフォーマンス統計、さまざまな形式のデータ視覚化、カスタマイズ可能な分析を提供します。 重要な情報を含めてリアルタイムな更新情報を提供することで、あなたのサービスの応答時間などをテストでき、必要に応じてカスタマイズもできます。いくつかのシンプルな画面で、サーバーの健全性を監視し、全体的および個別のサービスのパフォーマンスを調べ、望ましいレベルの細かさでメトリックを分析できます。CoppereggはPagerDutyにアラートを送信するように設定でき、各アラートがPagerDuty内で確認されたり解決されたりできるようにします。下記の手順に従って、PagerDutyとCoppereggを設定してください。ご質問やサポートが必要な場合は、 support@pagerduty.comまでお問い合わせください。

PagerDutyでの設定

  1. ConfigurationメニューからServicesを選択します。
  2. Serviceページで:
    インテグレーションのために新しいサービスを作成する場合は、+Add New Serviceをクリックします。既存のサービスにインテグレーションを追加する場合は、統合を追加するサービスの名前をクリックします。その後、Integrationsタブをクリックし、+ New Integrationボタンをクリックします。
  3. Integration Typeメニューから追加したいアプリを選択し、Integration Nameを入力してください。インテグレーションのために新しいサービスを作成する場合は、General Settingsで新しいサービスのNameを入力します。 次に、Incident Settingsで、新しいサービスのEscalation Policy(エスカレーションポリシー)、Notification Urgency(通知の緊急度)、Incident Behavior(インシデントの動作)を指定します。
  4. Add ServiceまたはAdd Integrationボタンをクリックして、新しいインテグレーションを保存します。すると、サービスのIntegrationsページにリダイレクトされます。
  5. 新しいインテグレーションのIntegration Keyをコピーします。

Coppereggでの設定

テスト通知してみる

  1. CoppereggコンソールでAlertsタブをクリックします。
  2. サイドバーで、Notification Profilesをクリックします。
  3. 一番右側の、Add a Profileをクリックしてください。
  4. New Notification ProfileにあるDestinationsで、PagerDutyを選択します。
  5. <PagerDutyでの設定の中の最後のステップでコピーしたIntegration Keyをここに貼り付けます。
  6. Test NotificationsをクリックしてPagerDutyアカウントに戻り、アラートがトリガーされたことを確認します。
  7. Coppereggからログアウトし、PagerDutyアカウントのServicesタブに移動します。ここに新しくトリガーされたインシデントのエントリが表示されます。

Webサイト監視

このガイドでは、PostgreSQLと “rails new scaffold title:string body:text”コマンドを使って簡単なRailsサイトを作成し、Herokuにhttp://thawing-mesa-1620.herokuapp.com/でプッシュしてみました。

  1. CoppereggのProbesタブに移動して、サイトを監視するプローブを設定してください。このプローブはCoppereggのデフォルト設定のまま、毎分1回Webサイトをチェックするように設定されています。
  2. Alertsタブに移動し、Configure Alertsを選択します。ここから、通知するアラートを選択し、PagerDuty APIサービスを追加します。以前にNotification Profileの下でPagerTesterという名前で作ったPagerDuty APIサービスに、Error Status Code、Lost Connectivity、Site Downを追加しました。
  3. AlertsタブのConfigure AlertsビューのDestinations列の下にPagerDutyが表示されていることを確認します。
  4. さあPagerDutyとCoppereggの統合を使用して、あなたのWeサイトをテストする準備が全て整いました。私の場合、インスタンス変数@ posts = Post.allを未定義の@ posts = Post.ballに変更することで、Posts Controller中のインデックスアクション内にエラーを作成しました。私はこのエラーをgitにコミットし、エラーを伝播するコマンド 'git push heroku master'を発行しました。タイムアウトを引き起こすためにsleep 5を使用したり、コマンド heroku ps:site web = 0 を使ってサイトをシャットダウンすることもできます。どの選択肢でも、望み通りアラートが作られてPagerDutyに通知される結果が確認できるはずです。
  5. サイトが停止したことを確認します。
  6. Coppereggにエラーが表示されるまで待ちます。表示されると、アラートがタブに赤で表示されます。サーバーの正常性表示も表示が変わります。
  7. Alertsタブにアクセスして、エラーの種類を判断します。
  8. PagerDutyにログインし、エラーがそこにも反映されていることを確認します。

おめでとう! CoppereggとPagerDutyを正常に統合しました。

よくある質問<

PagerDuty内で複数のサービスをCopperegg内で個別のアラートを作成することはできますか?

はい、できます。 たとえば、別のサービスをGeneric APIシステムとして作成し、PagerDutyに追加することができます。 上記の手順を繰り返して、Coppereggに追加します。 Copperegg内から両方のサービスのテスト通知を選択すると、両方のサービスのアラートがPagerDutyでトリガされます。

CoppereggにPagerDutyサービスを追加するための要件は何ですか?

PagerDutyサービスには統合キーが必要です。 この統合キーをCoppereggの通知プロファイルに入力したら、Test Notificationsボタンを押してから、PagerDutyアカウントにログインして、アラートが正常に登録されたことを確認します。

サイトクラッシュの問題が解決され、Coppereggがそのサイトがバックアップされていることを認識した場合、PagerDutyのインシデントも解決されますか?

いいえ、Coppereggは自動的にインシデントを解決しません。PagerDuty内で問題を認識して解決する必要があります。 一度トリガされると、ユーザー入力は削除される前に必要となります。

まだ助けが必要ですか?

何か困難がある場合は私たちに連絡してください。

Project Details