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

Logstash

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

Logstashは、ログの収集管理ツールであり、保存、クエリ、分析のための強力なパイプラインを提供します。 バックエンドデータストアとしてElasticsearchを使用し、フロントエンドレポートツールとしてKibanaを使用する場合、Logstashが主要な役割を果たします。ビルトインのインプットの収納、フィルター、コーデック、アウトプットなどを含めて、強力な機能を少々の努力で活用できるようになります。このガイドではPagerDutyをアウトプットとして追加し、インシデントのトリガー、確認、解決を可能にします。インテグレーションの設定に問題がある場合は、 当社までご連絡ください

PagerDutyでの設定

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

  2. Serviceページで:インテグレーション用の新しいサービスを作成する場合は、 +Add New Serviceをクリックします。既存のサービスにインテグレーションを追加する場合は、インテグレーションを追加するサービスのNameをクリックします。その後、Integrationsタブをクリックし、+ New Integration ボタンをクリックします。 RS-Add-New-Service-13-300x113

  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-4

  5. 新しいインテグレーションのIntegration Keyをコピーします RS_Updates__API_Services-1024x146-8-300x43

Logstashをホストするサーバー上での設定

  1. Logstash設定を開くまたは、作成をしてください。
  2. 設定の “output”セクションでは、pagerdutyセクションを追加して、次のようになります。
output {
  pagerduty {
    event_type => "trigger"
    description => "%{host} - %{@message}"
    details => {
      timestamp => "%{@timestamp}"
      message => "%{message}"
    }
    service_key => "b2#############################c4"
    incident_key => "logstash/%{host}/%{type}"
  }
}

入力ソースとフィルタルールによっては、上記の変数が利用できない場合が あります。

  1. service_keyを上記のIntegration Keyで置き換えてください。

よくある質問

  1. LogstashがPagerDutyでイベントをトリガーして解決する条件と、PagerDutyに送信される情報をカスタマイズできますか?

    はい!想定される例では、Logstashによって処理される各ログエントリに対してインシデントが作成される可能性が非常に高いため、それを強くお勧めします。

  2. Logstash経由でPagerDutyのインシデントを解決できますか?

    はい。event_type => "trigger" を “trigger”から “resolve”に変更すると、インシデントが解決されます。 また、「acknowledge」を使用して、インシデントを確認することもできます。 インシデント_キーは、 “resolve”または “acknowledge”を有効させるための “trigger”イベントと一致する必要があります。

  3. インシデントは自動的に解決されますか?

    インシデントを解決するかどうかは、構成によって決まります。

  4. Logstashを複数のPagerDutyサービスに関連付けるように設定できますか?

    はい、異なるインテグレーションキーを使用して複数のPagerDutyセクションを作成できます。

  5. インシデントは重複排除されていますか?

    はい、インシデントは、あなたが送信するincident_keyの値に基づいて重複排除されます。

  6. 2ウェイのack-backインテグレーションはありますか?

    Logstashにはインシデントの概念がないため不可能です。

  7. 私が参照できるログはありますか?

    はい、Logstashインストールは、Logstashサービスを実行するオペレーティングシステムに応じて、ログの場所を ‘/ var / log /’にする必要があります。

  8. API呼び出しが失敗した場合、再試行のメカニズムはありますか?

    はい。インシデントが正常に送信されなかった場合、インシデントはディスク上にキューされて再試行されます。