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

Riemann

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

Riemannは強力なストリーム処理言語を使用して、サーバーやアプリケーションからのイベントを集約します。 Riemannは、コードで発生した例外の通知、Webアプリケーションのレイテンシ分布の追跡、メモリやCPUによって任意のホスト上のプロセスの参照や、キープロセスがチェックインできないときにのアラート送信などだけでなく、他にもさまざまなユースケースがあります。

PagerDutyでの設定

  1. ConfigurationメニューからServicesを選択します。

  2. Serviceのページで次の操作を行います。

    • インテグレーションのために新しいサービスを作成する場合は、Add New Serviceをクリックします。
    • 既存のサービスにインテグレーションを追加する場合は、追加するサービスの名前をクリックします。 次に、Integrationsタブをクリックし、New Integrationボタンをクリックします。
  3. Integration Typeメニューから追加したいアプリを選択してください。 Screen-Shot-2017-01-06-at-3.25.05-PM-1-300x241

  4. Integration Nameを入力します。 インテグレーションのために新しいサービスを作成する場合は、General Settingで新しいサービスのNameを入力します。 次に、Incident Settingで、新しいサービスのEscalation PolicyNotification Urgency、およびIncident Behaviorを指定します。

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

  6. 新しいインテグレーションのIntegration Keyをコピーします。 Screen-Shot-2017-01-11-at-2.27.52-PM-1-300x63

Riemannサーバーでの設定

Note:<このガイドでは、PagerDutyでインシデントを引き起こす実際のRiemann監視ツールの設定のみを扱いできますが、Riemannの活動の視覚化を含むWebベースのUIを提供するriemann-dashの設定方法については検討しません。このインテグレーションには、Riemannのインストールに使用されるJavaとRubyの両方の最新バージョンがインストールされたLinuxベースのシステムが必要です。

  1. Riemann構成ファイル(Riemannのメインディレクトリにあるetc/riemann.config)を編集して、etc/riemann.configで、あたなが通知を送りたいホストの正しいホスト名を設定します。この例では、localhost(つまり127.0.0.1 )を使用します。 1487283805-835x484-1-300x174

  2. 次にPagerDutyに通知を送信するようにRiemann設定ファイルを編集する必要があります。ここに表示されているデフォルトのコードを追加しますが、これによりPagerDutyのインシデントを引き起こす、ok状態ではない通知が発生します。これによりアラートストームが発生し、PagerDutyのEvents APIによってそのレートが制限されます。etc/riemann.configファイルの最後に変更したバージョンを追加することをお勧めします。このファイルは、明示的に設定した条件でのみ起動します。 pd-adapter-config-300x71

  3. Riemannでアラートを手動でトリガーすることで、すべてが機能していることをテストする必要があります。これは、RubyインタラクティブインタプリタからRubyクライアントを介して手動で行うことができます。 irbを次のように起動します。 IRB1-300x28

  4. インシデントを次の形式でトリガーします。Note:rubyクライアントは、あなたがhost: nilを渡さない限り、イベントがローカルホスト名から来ると仮定しますが、テスト目的のためだけに明示的にホスト名を指定することができます。 IRB2-300x74

  5. Riemannのストリーミングログにイベントが表示されます。インシデントは、PagerDutyでトリガされる必要があります。状態がokに戻ると、PagerDutyでインシデントも解決されます。