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 连接读取数据的超时时间。如果在该时间内未收到响应,则操作将超时并失败。 |
|
否 |
- |
用于将请求方案、主机、端口和路径作为单个字符串指定的快捷方式。例如, |