SlackチャネルへのURLアラートの送信

URLアラートを1つまたは複数のSlackチャネルに送信します。

URLアラートを1つまたは複数のSlackチャネルに送信します。

config_location/slack_posturl.confファイルのインスタンスが複数存在する場合は、イベント・プラグインのインスタンスも複数になります。Slack構成ファイルには任意の名前を付けることができます。ただし、.confファイル拡張子を持ち、有効なイベント・プラグイン識別子[posturl]を含み、event-pluginsディレクトリーの場所にある必要があります。構成ファイルはすべて読み込まれるため、slack_posturl1.confslack_posturl2.confのようにファイル名を区別してください。プラグイン・インスタンスが複数あると、開発および実稼働クラスターのさまざまなSlackチャネルに対してアラートを柔軟に設定できます。すべてのOpsCenterイベント・プラグインで、複数の構成ファイルと、その結果の複数のプラグイン・インスタンスがサポートされます。

ヒント: OpsCenterは、httpまたはhttpsを介してアラートを送信できます。httpsを有効にするには、http://からhttps://へURLをアップデートします。

始める前に

Slackを使用して着信Webhookの統合を設定します。手順については、Slack APIを参照してください。

手順

  1. 新しいファイルslack_posturl.confconf/event-plugins/ディレクトリーに作成します。
  2. 以下の例の内容をコピーしてファイルにペーストします。

    slack_posturl.confの例:

    [posturl]
    enabled=1
    
    # levels can be comma-delimited list of any of the following:
    # DEBUG,INFO,WARN,ERROR,CRITICAL,ALERT
    # If left empty, will listen for all levels
    levels=
    
    # clusters is a comma-delimited list of cluster names for which
    # this alert config will be eligible to run.
    # If left empty, this alert will be called for events on all clusters
    clusters=
    
    # the URL to send an HTTP POST to
    url=https://hooks.slack.com/services/your/webhook/url
    
    # Set a username for basic HTTP authorization
    #username=foo
    
    # Set a password for basic HTTP authorization
    #password=bar
    
    # The number of seconds before a connection to url or proxy_url
    # will be aborted due to a timeout
    connection_timeout=5
    
    # Set the type of posted data. Available options are 'json' or 'form'
    post_type=json
    
    # Fields specified here will override the default event data fields.
    #
    # They must be formatted as key-value pair, with key and value separated by
    # an equals (=). Each pair after the first must be on its own line,
    # indented beyond the first line
    #
    # You may use tokens found within the default event data for or in
    # values. For example, some available keys are:
    #   cluster, time, level_str, message, target_node, event_source, success, api_source_ip, user, source_node
    # Keys must be encapsulated in {brackets}.
    #
    #fields=textKey=value
    #    mixedKey=cluster-{cluster}
    #    event-msg={message}
    fields=text={level_str} from {cluster}: {message}
    
    # Customizable templates for http post data. Some available keys are:
    #     node, cluster, datetime, level_str, message, target_node, event_source, success, api_source_ip, user, source_node
    # More advanced formatting options explained here: https://docs.python.org/2/library/string.html#formatspec Each line
    # beyond the first must be indented. Use with post_type=template, and content-type and other headers must be manually
    # assigned.
    #template={{
    #  "messages":[
    #    {{
    #      "type": "link",
    #      "message": "Cluster {cluster} failure - {message}"
    #      "href": "http://opscenter1"
    #    }}
    #  ]}}
    
  3. 必須: 構成ファイルの例のURL(url=https://hooks.slack.com/services/your/webhook/url)をカスタム定義されている着信WebhookのURLに必ず置き換えてください。
  4. slack_posturl.confを保存し、OpsCenterデーモンを再起動します。
    お使いのWebhook用に定義したSlackチャネルにアラートが追加されていることを確認します。