メインコンテンツまでスキップ
Sumo Logic Japanese

Slack 用の Webhook 接続

投稿としてアラートを Sumo Logic から Slack チャネルに送信できます。

  1. Sumo Logic で Webhook 接続を設定します。これらは、Sumo Logic にデータの送信先を指示する HTTP エンドポイントとなります。組織のニーズに応じて、任意の数の接続をセットアップできます。
  2. アラートを作成するためにスケジュール済み検索を設定します。 

Slack による Webhook の要件の詳細については、その API ヘルプを参照してください。

Slack 用の Webhook 接続の設定

  1. [Manage Data (データの管理)] > [Settings (設定)] > [Connections (接続)] に移動します。
  2. [Connections (接続)] ページで、[Add (追加)] をクリックします。
  3. [Slack] をクリックします。
  4. [Create Connection (接続の作成)] ダイアログに、接続の名前を入力します。
  5. 省略可能: 接続の説明を入力します。
  6. エンドポイントの URL を入力します。(詳細については、Slack API ヘルプをご確認ください)。
  7. (省略可能) 認証ヘッダーを入力します。認証トークンを含めることもできます。
  8. (省略可能) [Custom Headers (カスタム ヘッダー)]。最大 5 つのコンマ区切りのキーと値のペアを入力します。
  9. [Payload (ペイロード)] で、Slack に必要な形式で JSON オブジェクトを入力します。JSON オブジェクト内でパラメータとして使用できる変数の詳細については、「Webhook ペイロードの変数」を参照してください。 
  10. [Save (保存)] をクリックします。

ペイロード メッセージをフォーマットする方法の詳細については、Slack のドキュメントの「Basic message formatting (基本的なメッセージのフォーマット)」を参照してください。

スケジュール済み検索の情報とその結果の送信

これは、RawResultsJsonAggregateResultsJson など、使用可能な Webhook 変数のほとんどを送信するための JSON ペイロードの例です。未処理の結果または集計された結果を送信することはできますが、両方を送信することはできません。

{
    "text": "Sumo Logic Alert: *{{SearchName}}*",
    "attachments": [{
        "fields": [{
                "title": "Description",
                "value": "{{SearchDescription}}"
            },
            {
                "title": "Query",
                "value": "<{{SearchQueryUrl}}|{{SearchQuery}}>"
            },
            {
                "title": "Time Range",
                "value": "{{TimeRange}}"
            },
            {
                "title": "FieldName",
                "value": "{{Results.fieldname}}"
            },
            {
                "title": "Results",
                "value": "{{RawResultsJson}}"
            },             
            {
                "title": "Message",
                "value": "{{AggregateResultsJson}}"
            }
        ],
        "mrkdwn_in": ["text", "pretext"],
        "color": "#29A1E6"
    }]
}

CURLを使用した Slack への投稿

次の CURL コマンドを使用して Slack に投稿するとします。

curl -X POST --data-urlencode 'payload={"channel": "#mychannel", "username": "webhookuser", "text": "This is posted to #mychannel and comes from a bot named webhookbot.", "icon_emoji": ":ghost:"}' https://hooks.slack.com/services/A12...AqlwV1fJ0oiGpk

下線を引いた部分は、Slack 設定に必要なトークンです。変数は JSON オブジェクト形式に従う必要があります。これは、Slack の text パラメータを使用して Sumo Logic 変数を送信する JSON ペイロードの例です。

{ "text": "{{SearchName}} ran over {{TimeRange}} at {{FireTime}}", "username": "Sumo Logic Alert" }

これは、Slack の attachments パラメータを使用する JSON ペイロードの例です。

{ "attachments": [ { "pretext": "Sumo Logic Alert: *{{SearchName}}*", "fields": [ { "title": "Description", "value": "{{SearchDescription}}" }, { "title": "Query", "value": "<{{SearchQueryUrl}}|{{SearchQuery}}>" }, { "title": "Time Range", "value": "{{TimeRange}}" } ], "mrkdwn_in": ["text", "pretext"], "color": "#29A1E6" } ] }

スケジュール済み検索の作成

次に、Slack チャネルへの投稿としてアラートを送信するためにスケジュール済み検索を作成します。 

まったく新しい検索を作成することも、既存の保存済み検索またはスケジュール済み検索に基づくこともできます。既存の検索を使用する場合、検索の現在のスケジュールが上書きされないようにクエリを新規検索として保存します。

手順については「Webhook 接続用のスケジュール済み検索」を参照してください。

  • この記事は役に立ちましたか?