Watcher Webhook 操作
编辑Watcher Webhook 操作
编辑使用 webhook
操作向任何 Web 服务发送请求。webhook 操作支持 HTTP 和 HTTPS 连接。有关支持的属性,请参阅 Webhook 操作属性。
配置 Webhook 操作
编辑您可以在 actions
数组中配置 webhook 操作。操作特定的属性使用 webhook
关键字指定。
以下代码片段显示了一个简单的 webhook 操作定义
"actions" : { "my_webhook" : { "transform" : { ... }, "throttle_period" : "5m", "webhook" : { "method" : "POST", "host" : "mylisteningserver", "port" : 9200, "path": "/{{ctx.watch_id}}", "body" : "{{ctx.watch_id}}:{{ctx.payload.hits.total}}" } } }
操作的 ID |
|
一个可选的 转换,用于在执行 |
|
该操作的可选 节流周期(在本例中为 5 分钟) |
|
连接到主机时使用的 HTTP 方法 |
|
要连接的主机 |
|
要连接的端口 |
|
HTTP 请求中使用的路径 (URI) |
|
随请求发送的正文 |
当向受保护的 Web 服务发送请求时,您可以使用基本身份验证。例如,以下 webhook
操作在 GitHub 中创建一个新问题
"actions" : { "create_github_issue" : { "transform": { "script": "return ['title':'Found errors in \\'contact.html\\'', 'body' : 'Found ' + ctx.payload.hits.total + ' errors in the last 5 minutes', 'assignee' : 'web-admin', 'labels' : ['bug','sev2']]" }, "webhook" : { "method" : "POST", "url" : "https://api.github.com/repos/<owner>/<repo>/issues", "body": "{{#toJson}}ctx.payload{{/toJson}}", "auth" : { "basic" : { "username" : "<username>", "password" : "<password>" } } } } }
默认情况下,用户名和密码都以纯文本形式存储在 .watches
索引中。当启用 Elasticsearch 安全功能时,Watcher 可以在存储密码之前对其进行加密。
当向启用了 Elasticsearch 安全功能的集群提交请求时,您还可以使用基于 PKI 的身份验证。当您使用基于 PKI 的身份验证而不是 HTTP 基本身份验证时,您不需要在监视本身中存储任何身份验证信息。要使用基于 PKI 的身份验证,您需要在 elasticsearch.yml
中为 Watcher 配置 SSL 密钥设置。
查询参数
编辑您可以使用 params
字段指定要随请求一起发送的查询参数。此字段仅包含一个对象,其中键用作参数名称,值用作参数值
自定义请求头
编辑您可以使用 headers
字段指定要随请求一起发送的请求头。此字段仅包含一个对象,其中键用作标头名称,值用作标头值
Webhook 操作属性
编辑名称 | 必需 | 默认 | 描述 |
---|---|---|---|
|
否 |
http |
连接方案。有效值为: |
|
是 |
- |
要连接的主机。 |
|
是 |
- |
HTTP 服务正在侦听的端口。 |
|
否 |
- |
URL 路径。路径可以是静态文本或包含 Mustache 模板。URL 查询字符串参数必须通过 |
|
否 |
get |
HTTP 方法。有效值为: |
|
否 |
- |
HTTP 请求头。标头值可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
URL 查询字符串参数。参数值可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
与身份验证相关的 HTTP 标头。目前,仅支持基本身份验证。 |
|
否 |
- |
HTTP 请求正文。正文可以是静态文本或包含 Mustache 模板。如果未指定,则发送空正文。 |
|
否 |
- |
连接到主机时要使用的代理主机。 |
|
否 |
- |
连接到主机时要使用的代理端口。 |
|
否 |
10s |
建立 http 连接的超时时间。如果在此时间内无法建立连接,则操作将超时并失败。 |
|
否 |
10s |
从 http 连接读取数据的超时时间。如果在此时间内未收到任何响应,则操作将超时并失败。 |
|
否 |
- |
用于将请求方案、主机、端口和路径指定为单个字符串的快捷方式。例如, |