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

Copperegg

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

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

PagerDutyでの設定

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

Coppereggでの設定

テスト通知してみる

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

Webサイト監視

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

  1. CoppereggのProbesタブに移動して、サイトを監視するプローブを設定してください。このプローブはCoppereggのデフォルト設定のまま、毎分1回Webサイトをチェックするように設定されています。 RailsProbe
  2. Alertsタブに移動し、Configure Alertsを選択します。ここから、通知するアラートを選択し、PagerDuty APIサービスを追加します。以前にNotification Profileの下でPagerTesterという名前で作ったPagerDuty APIサービスに、Error Status Code、Lost Connectivity、Site Downを追加しました。 pagertester
  3. AlertsタブのConfigure AlertsビューのDestinations列の下にPagerDutyが表示されていることを確認します。 ConfigureAlertSize-300x106
  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に通知される結果が確認できるはずです。 PostBallRailsError
  5. サイトが停止したことを確認します。 RailsSiteHerokuDown1
  6. Coppereggにエラーが表示されるまで待ちます。表示されると、アラートがタブに赤で表示されます。サーバーの正常性表示も表示が変わります。 CopperEggAlertsTabNotifications
  7. Alertsタブにアクセスして、エラーの種類を判断します。CurrentIssuesRailsProbe
  8. PagerDutyにログインし、エラーがそこにも反映されていることを確認します。 PagerDutyNotifications おめでとう! CoppereggとPagerDutyを正常に統合しました。

よくある質問

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

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

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

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

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

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

  4. まだ助けが必要ですか?

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