すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:カスタムwebhooksに関するFAQ

最終更新日:Aug 29, 2024

このトピックでは、カスタムwebhookに関するよくある質問に対する回答を提供します。

アラートテンプレートを設定するにはどうすればよいですか。

カスタムwebhookを使用してアラート通知を送信する場合は、有効なJSON形式でアラートテンプレートのコンテンツを設定することをお勧めします。 このように、レンダリング後の結果は有効なJSON形式になります。

次の警告メッセージの警告テンプレートを設定するとします。 アラートメッセージでは、alert.annotations.messageフィールドの値に二重引用符 ("") が含まれています。 {{ alert.annotations.message }} フィールドを直接参照すると、レンダリング後の結果は無効なJSON形式になり、アラート通知の送信に失敗します。

フィールドを参照するには、アラートテンプレートで組み込み関数quote(value) を使用する必要があります。 これにより、特殊文字によって引き起こされる無効なJSON形式が防止されます。

  • 警告メッセージの例

    {
        "project": "test-alert",
        "region": "cn-hangzhou",
        "labels": {
            "service": "signin",
            "env": "prod"
        },
        "annotations": {
            "message": "user \"xxx\" signin failed, error is: userNotFound"
        }
    }
  • サンプル警告テンプレート

    {
        "project": "{{ alert.project }}",
        "service": "{{ alert.labels.service }}",
        "message": {{ alert.annotations.message | quote }}
    }
  • レンダリング後のサンプル結果

    {
        "project": "test-alert",
        "service": "signin",
        "message": "user \"xxx\" signin failed, error is: userNotFound"
    }

ネットワークを選択するにはどうすればよいですか?

Simple Log Serviceのアラートシステムは、インターネット経由でのみwebhookベースのアラート通知を送信します。 内部システムを使用していて、システムのインターネットアクセスを有効にしたくない場合は、インターネットプロキシを使用できます。 次の図は、ネットワークアーキテクチャを示しています。

image

アクセス許可を確認する方法?

アクセス権限を確認するには、IPアドレスホワイトリストまたはHTTPヘッダーを設定します。

  • webhookのIPアドレスホワイトリストを設定し、IPアドレス120.76.47.88と119.23.150.175をホワイトリストに追加します。

  • HTTPヘッダーを設定します。

    • カスタムトークンを使用します。 Request HeaderパラメーターをAuthorization: Bearer tokenに設定できます。 tokenをカスタムトークンに置き換えます。

    • 基本認証を使用します。 リクエストヘッダーのパラメーターをAuthorization: Basic $(base64_encode(username:password)) に設定できます。 usernamepasswordを実際のユーザー名とパスワードに置き換えます。

たとえば、webhookがNGINXリバースプロキシを使用している場合、アクセス許可を確認するためにNGINXで基本認証を設定できます。

  1. NGINXで基本認証を設定します。

    1. パスワードファイルにユーザーを追加します。

      重要

      conf/passwdファイルが存在しない場合は, パスワードファイルを作成する必要があります。

      ユーザー名adminとパスワードfoobarを例として使用します。

      htpasswd -b conf/passwd admin foobar
    2. NGINXでauth_basicおよびauth_basic_user_fileパラメーターを設定して、基本認証を有効にします。

      location / {
          auth_basic  on;
          auth_basic_user_file  conf/passwd;
          root   html;
          index  index.html index.htm;
      }
    3. NGINXを再起動します。

  2. アクションポリシーでカスタムwebhookを設定します。

    echo -n admin:foobar | base64コマンドは、YWRtaW46Zm9vYmFyを返します。 したがって、カスタムwebhookを設定するときに、リクエストヘッダーパラメーターを [Authorization: Basic YWRtaW46Zm9vYmFy] に設定できます。 詳細については、「Webhook-Custom」をご参照ください。