webhook メディアタイプは、ヘルプデスクシステム、チャット、メッセンジャーなどの外部ソフトウェアと簡単に統合するために、
カスタム JavaScript コードを使用して HTTP コールを行うのに便利です。Zabbix が提供する統合機能をインポートするか、
カスタム統合機能を一から作成することができます。
以下のインテグレーションを利用することで、定義済みの Webhook メディアタイプを使用して Zabbix 通知をプッシュすることができます:
ここに挙げたサービスに加え、Zabbix は Spiceworks と連携することができます。(Webhookは不要です) Zabbixの通知をSpiceworksのチケットに変換するには、email media typeを作成し、Spiceworksヘルプデスクのメールアドレス
(例: [email protected]) を指定したZabbixのプロファイル設定に入力する必要があります。
Webhook 連携の利用を開始するには:
カスタムWebhookをゼロから作成する場合:
Media type タブには、そのメディアタイプに固有のさまざまな属性が含まれています:
すべての必須入力フィールドには、赤いアスタリスクが表示されます。
以下のパラメータは、webhook メディアタイプに固有のものです:
パラメータ | 説明 |
---|---|
Parameters | Specify the webhook variables as the attribute and value pairs. For preconfigured webhooks, a list of parameters varies, depending on the service. Check the webhook's Readme.md file for parameter description. For new webhooks, several common variables are included by default (URL:<empty>, HTTPProxy:<empty>, To:{ALERT.SENDTO}, Subject:{ALERT.SUBJECT}, Message:%7BALERT.MESSAGE}), feel free to keep or remove them. All macros that are supported in problem notifications are supported in the parameters. If you specify an HTTP proxy, the field supports the same functionality as in the item configuration HTTP proxy field. The proxy string may be prefixed with [scheme]:// to specify which kind of proxy is used (e.g. https, socks4, socks5; see documentation). |
Script | Enter JavaScript code in the block that appears when clicking in the parameter field (or on the view/edit button next to it). This code will perform the webhook operation. The script is a function code that accepts parameter - value pairs. The values should be converted into JSON objects using JSON.parse() method, for example: var params = JSON.parse(value); .The code has access to all parameters, it may perform HTTP GET, POST, PUT and DELETE requests and has control over HTTP headers and request body. The script must contain a return operator, otherwise it will not be valid. It may return OK status along with an optional list of tags and tag values (see Process tags option) or an error string. Note, that the script is executed only after an alert is created. If the script is configured to return and process tags, these tags will not get resolved in {EVENT.TAGS} and {EVENT.RECOVERY.TAGS} macros in the initial problem message and recovery messages because the script has not had the time to run yet. See also: Webhook development guidelines, Webhook script examples, Additional JavaScript objects. |
Timeout | JavaScript execution timeout (1-60s, default 30s). Time suffixes are supported, e.g. 30s, 1m. |
Process tags | Mark the checkbox to process returned JSON property values as tags. These tags are added to the already existing (if any) problem event tags in Zabbix. If a webhook uses tags (the Process tags checkbox is marked), the webhook should always return a JSON object containing at least an empty object for tags: var result = {tags: {}}; .Examples of tags that can be returned: Jira ID: PROD-1234, Responsible: John Smith, Processed:<no value>, etc. |
Include event menu entry | Mark the checkbox to include an entry in the event menu linking to the created external ticket. If marked, the webhook should not be used to send notifications to different users (consider creating a dedicated user instead) or in several alert actions related to a single problem event. |
Menu entry name | Specify the menu entry name. {EVENT.TAGS.<tag name>} macro is supported. This field is only mandatory if Include event menu entry is selected. |
Menu entry URL | Specify the underlying URL of the menu entry. {EVENT.TAGS.<tag name>} macro is supported. This field is only mandatory if Include event menu entry is selected. |
デフォルトのメッセージとアラート処理オプションを設定する方法の詳細については common media type parameters を参照してください。
Webhook がデフォルトメッセージを使用しない場合でも、この Webhook が使用する操作タイプ用のメッセージテンプレートは
定義されている必要があります。
To test a configured webhook media type:
By default, webhook tests are performed with parameters entered during configuration. However, it is possible to change attribute values for testing. Replacing or deleting values in the testing window affects the test procedure only, the actual webhook attribute values will remain unchanged.
To view media type test log entries without leaving the test window, click on Open log (a new popup window will open).
If the webhook test is successful:
If the webhook test fails:
メディアタイプを設定したら、Administration → Users セクションで、Webhook メディアを既存のユーザーに割り当てるか、
Webhook を表すユーザーを新規に作成します。既存のユーザーにユーザーメディアを設定する手順は、すべてのメディアタイプに
共通なので、Media types ページで説明されています。
Webhook がタグを使用して ticket \メッセージ ID を格納する場合、同じ Webhook を異なるユーザーにメディアとして割り当てることは
避けてください。エラーの原因となる可能性があります。(Include event menu entry optionを利用するウェブフックの大部分に
適用されます)この場合、ベストプラクティスは、Webhook を代表する専用のユーザを作成することです:
アラートアクションの設定時に、操作の詳細の Send to usersフィールドにこのユーザを追加することで、Zabbix にこのアクションからの
通知にWebhookを使用するよう指示します。
アラートアクションを設定する際、操作の詳細の Send to users フィールドにこのユーザーを追加します。これにより、<bnr> このアクションからの通知に Webhook を使用するようZabbix に指示します。
アクションは、どの通知を Webhook 経由で送信するかを決定します。 configuring actionsの手順は以下の通りです。 Webhook を含む他のすべてのメディアタイプの場合と同じですが、以下の例外があります: