Watcher 邮件操作
编辑Watcher 邮件操作编辑
使用 email
操作发送电子邮件通知。要发送电子邮件,您必须在 elasticsearch.yml
中配置至少一个电子邮件帐户。
电子邮件通知可以是纯文本,也可以使用 HTML 进行样式设置。您可以使用模板 从监视执行负载中包含信息,并将整个监视负载附加到消息。
有关支持的属性,请参见电子邮件操作属性。电子邮件操作定义中缺少的任何属性将在电子邮件帐户配置中查找。必需的属性必须在电子邮件操作定义或帐户的 email_defaults
中设置。
配置电子邮件操作编辑
您在 actions
数组中配置电子邮件操作。使用 email
关键字指定特定于操作的属性。
例如,以下电子邮件操作使用模板将来自监视负载的数据包含在电子邮件正文中
"actions" : { "send_email" : { "email" : { "to" : "[email protected]", "subject" : "Watcher Notification", "body" : "{{ctx.payload.hits.total}} error logs found" } } }
配置电子邮件附件编辑
您可以将执行上下文负载或来自任何 HTTP 服务的数据附加到电子邮件通知。您可以配置的附件数量没有限制。
要配置附件,请指定附加文件的名称和附件类型:data
、http
或 reporting
。 data
附件类型将执行上下文负载附加到电子邮件消息。 http
附件类型使您能够发出 HTTP 请求并将响应附加到电子邮件消息。配置 http
附件类型时,您必须指定请求 URL。 reporting
附件类型是一种特殊类型,用于包含从 kibana 渲染的 PDF 仪表板。此类型始终轮询 kibana 应用程序,以查看仪表板渲染是否完成,从而防止长时间运行的 HTTP 连接,这些连接可能会被防火墙或负载均衡器在两者之间杀死。
"actions" : { "email_admin" : { "email": { "to": "John Doe <[email protected]>", "attachments" : { "my_image.png" : { "http" : { "content_type" : "image/png", "request" : { "url": "http://example.org/foo/my-image.png" } } }, "dashboard.pdf" : { "reporting" : { "url": "http://example.org:5601/api/reporting/generate/dashboard/Error-Monitoring" } }, "data.yml" : { "data" : { "format" : "yaml" } } } } } }
表 83. http
附件类型属性
名称 | 描述 |
---|---|
|
设置电子邮件附件的 MIME 类型。默认情况下,MIME 类型是从 HTTP 服务发送的响应中提取的。您可以显式指定 MIME 类型,以确保在响应未指定 MIME 类型或 MIME 类型指定不正确的情况下,MIME 类型在电子邮件中正确设置。可选。 |
|
配置为带有 |
|
包含 HTTP 请求属性。至少,您必须指定 |
表 84. data
附件类型属性
名称 | 描述 |
---|---|
|
附加监视数据,相当于在监视配置中指定 |
表 85. reporting
附件类型属性
名称 | 描述 |
---|---|
|
触发仪表板创建的 URL |
|
配置为带有 |
|
reporting 附件类型尝试定期轮询以接收创建的 PDF。这配置了重试次数。默认为 |
|
两次轮询尝试之间等待的时间。默认为 |
|
请求的额外身份验证配置,有关详细信息,请参见使用 watcher |
|
请求的额外代理配置。有关如何配置值的详细信息,请参见HTTP 输入属性。 |
电子邮件操作属性编辑
名称 | 必需 | 默认 | 描述 |
---|---|---|---|
|
否 |
默认帐户 |
要用于发送电子邮件的电子邮件帐户。 |
|
否 |
- |
|
|
是 |
- |
|
|
否 |
- |
|
|
否 |
- |
|
|
否 |
- |
将在消息的 |
|
否 |
- |
电子邮件的主题。主题可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
电子邮件的正文。当此字段包含字符串时,它将默认为电子邮件的文本正文。设置为对象以指定文本或 HTML 正文或两者(使用下面的字段) |
|
否 |
- |
电子邮件的纯文本正文。正文可以是静态文本或包含 Mustache 模板。 |
|
否 |
- |
电子邮件的 HTML 正文。正文可以是静态文本或包含 Mustache 模板。此正文将被清理以删除危险内容,例如脚本。可以通过在 |
|
否 |
- |
此电子邮件的优先级。有效值为: |
|
否 |
- |
将监视负载( |
|
否 |
false |
指示是否应将监视执行数据附加到电子邮件。您可以指定布尔值或对象。如果 |
|
否 |
yaml |
当 |
- 电子邮件地址
- 电子邮件地址可以包含两个可能的组成部分——地址本身和可选的个人姓名,如RFC 822 中所述。地址可以表示为
[email protected]
或Personal Name <[email protected]>
形式的字符串。您还可以将电子邮件地址指定为包含name
和address
字段的对象。
- 地址列表
- 地址列表可以指定为数组:
[ 'Personal Name <[email protected]>', '[email protected]' ]
。
配置电子邮件帐户编辑
Watcher 可以使用任何 SMTP 电子邮件服务发送电子邮件。电子邮件消息可以包含基本的 HTML 标签。您可以通过配置 HTML 清理选项 来控制允许哪些标签组。
您在 elasticsearch.yml
中的 xpack.notification.email
命名空间中配置 Watcher 可以用来发送电子邮件的帐户。指定 SMTP 用户的密码安全地存储在Elasticsearch 密钥库 中。
如果您的电子邮件帐户配置为需要双重验证,则需要生成并使用唯一的应用程序密码才能从 Watcher 发送电子邮件。如果您使用主密码,则身份验证将失败。
Watcher 提供三种电子邮件配置文件,用于控制 MIME 消息的结构:standard
(默认)、gmail
和 outlook
。这些配置文件适应了各种电子邮件系统解释 MIME 标准的不同方式。如果您使用的是 Gmail 或 Outlook,我们建议使用相应的配置文件。如果您使用的是其他电子邮件系统,请使用 standard
配置文件。
有关将 Watcher 配置为与不同电子邮件系统一起使用的更多信息,请参阅
如果您配置了多个电子邮件帐户,则必须配置默认帐户或在 email
操作中指定应使用哪个帐户发送电子邮件。
xpack.notification.email: default_account: team1 account: team1: ... team2: ...
从 Gmail 发送电子邮件编辑
使用以下电子邮件帐户设置从 Gmail SMTP 服务发送电子邮件
xpack.notification.email.account: gmail_account: profile: gmail smtp: auth: true starttls.enable: true host: smtp.gmail.com port: 587 user: <username>
要存储帐户 SMTP 密码,请使用密钥库命令(请参阅 安全设置)
bin/elasticsearch-keystore add xpack.notification.email.account.gmail_account.smtp.secure_password
如果您收到身份验证错误,表明您需要从 Web 浏览器继续登录过程,而 Watcher 尝试发送电子邮件时,则需要将 Gmail 配置为 允许安全性较低的应用访问您的帐户。
如果您的帐户启用了双重验证,则必须生成并使用唯一的应用程序密码才能从 Watcher 发送电子邮件。有关更多信息,请参阅 使用应用程序密码登录。
从 Outlook.com 发送电子邮件编辑
使用以下电子邮件帐户设置从 Outlook.com SMTP 服务发送电子邮件操作
xpack.notification.email.account: outlook_account: profile: outlook smtp: auth: true starttls.enable: true host: smtp-mail.outlook.com port: 587 user: <email.address>
要存储帐户 SMTP 密码,请使用密钥库命令(请参阅 安全设置)
bin/elasticsearch-keystore add xpack.notification.email.account.outlook_account.smtp.secure_password
发送电子邮件时,您必须提供发件人地址,无论是帐户配置中的默认地址还是监视器中的电子邮件操作的一部分。
如果启用了双重验证,则需要使用唯一的应用程序密码。有关更多信息,请参阅 应用程序密码和双重验证。
从 Amazon SES(简单电子邮件服务)发送电子邮件编辑
使用以下电子邮件帐户设置从 Amazon 简单电子邮件服务(SES)SMTP 服务发送电子邮件
xpack.notification.email.account: ses_account: email_defaults: from: <email address of service account> smtp: auth: true starttls.enable: true starttls.required: true host: email-smtp.us-east-1.amazonaws.com port: 587 user: <username>
要存储帐户 SMTP 密码,请使用密钥库命令(请参阅 安全设置)
bin/elasticsearch-keystore add xpack.notification.email.account.ses_account.smtp.secure_password
您需要使用您的 Amazon SES SMTP 凭据才能通过 Amazon SES 发送电子邮件。有关更多信息,请参阅 获取您的 Amazon SES SMTP 凭据。您可能还需要在 AWS 上验证 您的电子邮件地址 或 您的整个域。
从 Microsoft Exchange 发送电子邮件编辑
使用以下电子邮件帐户设置从 Microsoft Exchange 发送电子邮件操作
xpack.notification.email.account: exchange_account: profile: outlook email_defaults: from: <email address of service account> smtp: auth: true starttls.enable: true host: <your exchange server> port: 587 user: <email address of service account>
要存储帐户 SMTP 密码,请使用密钥库命令(请参阅 安全设置)
bin/elasticsearch-keystore add xpack.notification.email.account.exchange_account.smtp.secure_password
配置 HTML 净化选项编辑
email
操作支持发送带有 HTML 正文的邮件。但是,出于安全原因,Watcher 会 净化 HTML。
您可以通过在 elasticsearch.yml
中配置 xpack.notification.email.html.sanitization.allow
和 xpack.notification.email.html.sanitization.disallow
设置来控制允许或禁止哪些 HTML 功能。您可以指定单个 HTML 元素和 HTML 功能组。默认情况下,Watcher 允许以下功能:body
、head
、_tables
、_links
、_blocks
、_formatting
和 img:embedded
。
例如,以下设置允许 HTML 包含表格和块元素,但不允许 <h4>
、<h5>
和 <h6>
标签。
xpack.notification.email.html.sanitization: allow: _tables, _blocks disallow: h4, h5, h6
要完全禁用净化,请将以下设置添加到 elasticsearch.yml
xpack.notification.email.html.sanitization.enabled: false