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 的身份验证,请 配置 Watcher 的 SSL 密钥设置(在 elasticsearch.yml
中)。
查询参数
编辑可以使用 params
字段指定要与请求一起发送的查询参数。此字段仅保存一个对象,其中键用作参数名称,值用作参数值
自定义请求头
编辑可以使用 headers
字段指定要与请求一起发送的请求头。此字段仅保存一个对象,其中键用作标头名称,值用作标头值
Webhook 操作属性
编辑名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
否 |
http |
连接方案。有效值为: |
|
是 |
- |
要连接的主机。 |
|
是 |
- |
HTTP 服务正在侦听的端口。 |
|
否 |
- |
URL 路径。路径可以是静态文本或包含 Mustache 模板。URL 查询字符串参数必须通过 |
|
否 |
get |
HTTP 方法。有效值为: |
|
否 |
- |
HTTP 请求头。标头值可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
URL 查询字符串参数。参数值可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
与身份验证相关的 HTTP 标头。目前,仅支持基本身份验证。 |
|
否 |
- |
HTTP 请求正文。正文可以是静态文本或包含 Mustache 模板。如果未指定,则发送空正文。 |
|
否 |
- |
连接到主机时使用的代理主机。 |
|
否 |
- |
连接到主机时使用的代理端口。 |
|
否 |
10s |
建立 HTTP 连接的超时时间。如果在此时间内无法建立连接,则操作将超时并失败。 |
|
否 |
10s |
从 HTTP 连接读取数据的超时时间。如果在此时间内未收到响应,则操作将超时并失败。 |
|
否 |
- |
用于将请求方案、主机、端口和路径指定为单个字符串的快捷方式。例如, |