Elasticsearch 中的 Watcher 设置编辑

您可以配置 Watcher 设置以设置 Watcher 并通过 电子邮件SlackPagerDuty 发送通知。

所有这些设置都可以添加到 elasticsearch.yml 配置文件中,除了安全设置,您需要将其添加到 Elasticsearch 密钥库中。有关创建和更新 Elasticsearch 密钥库的更多信息,请参阅 安全设置。动态设置也可以使用 集群更新设置 API 在整个集群中更新。

通用 Watcher 设置编辑

xpack.watcher.enabled
(静态) 设置为 false 以禁用节点上的 Watcher。
xpack.watcher.encrypt_sensitive_data logo cloud
(静态) 设置为 true 以加密敏感数据。如果启用此设置,您还必须指定 xpack.watcher.encryption_key 设置。有关更多信息,请参阅 在 Watcher 中加密敏感数据
xpack.watcher.encryption_key
(安全) 指定包含用于加密敏感数据的密钥的文件的路径。如果 xpack.watcher.encrypt_sensitive_data 设置为 true,则需要此设置。有关更多信息,请参阅 在 Watcher 中加密敏感数据
xpack.http.proxy.host
(静态) 指定用于连接到 HTTP 服务的代理服务器地址。
xpack.http.proxy.port
(静态) 指定用于连接到代理服务器的端口号。
xpack.http.proxy.scheme
(静态) 用于与代理服务器通信的协议。有效值为 httphttps。默认为请求中使用的协议。
xpack.http.default_connection_timeout
(静态) 初始化连接时,在中止请求之前等待的最大时间段。
xpack.http.default_read_timeout
(静态) 两个数据包之间不活动的最大时间段,在此时间段之后请求将被中止。
xpack.http.tcp.keep_alive
(静态) 是否在 HTTP 连接上启用 TCP 保活。默认为 true
xpack.http.connection_pool_ttl
(静态) 连接池中连接的生存时间。如果连接在此超时时间内未被重新使用,则将其关闭。默认情况下,生存时间是无限的,这意味着连接永远不会过期。
xpack.http.max_response_size
(静态) 指定 HTTP 响应允许的最大大小,默认为 10mb,最大可配置值为 50mb
xpack.http.whitelist
(动态) 内部 HTTP 客户端允许连接到的 URL 列表。此客户端用于 HTTP 输入、webhook、slack、pagerduty 和 jira 操作。此设置可以动态更新。它默认为 *,允许所有内容。注意:如果您配置此设置并且正在使用其中一个 slack/pagerduty 操作,则必须确保相应的端点也被明确允许。

Watcher HTTP TLS/SSL 设置编辑

您可以配置以下 TLS/SSL 设置。

xpack.http.ssl.supported_protocols

(静态) 支持的协议及其版本。有效协议:SSLv2HelloSSLv3TLSv1TLSv1.1TLSv1.2TLSv1.3。如果 JVM 的 SSL 提供程序支持 TLSv1.3,则默认值为 TLSv1.3,TLSv1.2,TLSv1.1。否则,默认值为 TLSv1.2,TLSv1.1

Elasticsearch 依赖于您的 JDK 的 SSL 和 TLS 实现。查看 JDK 版本支持的 SSL/TLS 版本 以了解更多信息。

如果 xpack.security.fips_mode.enabledtrue,则不能使用 SSLv2HelloSSLv3。请参阅 FIPS 140-2

xpack.http.ssl.verification_mode

(静态) 定义如何在 TLS 连接中验证另一方提供的证书

有效值
full
验证提供的证书:具有在 not_beforenot_after 日期范围内的签发日期;链接到受信任的证书颁发机构 (CA);具有与证书中的名称匹配的 hostname 或 IP 地址。
certificate
验证提供的证书并验证它是否由受信任的颁发机构 (CA) 签名,但不检查证书 hostname
none

不执行任何证书验证。

将证书验证设置为 none 会禁用 SSL/TLS 的许多安全优势,这非常危险。仅在 Elastic 支持人员指示的情况下,将其设置为临时诊断机制,以尝试解决 TLS 错误时使用。

默认为 full

xpack.http.ssl.cipher_suites

(静态) 支持的密码套件因您使用的 Java 版本而异。例如,对于版本 12,默认值为 TLS_AES_256_GCM_SHA384TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHATLS_ECDHE_RSA_WITH_AES_256_CBC_SHATLS_ECDHE_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_AES_128_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHATLS_RSA_WITH_AES_128_CBC_SHA

有关更多信息,请参阅 Oracle 的 Java 密码体系结构文档

Watcher HTTP TLS/SSL 密钥和受信任证书设置编辑

以下设置用于指定私钥、证书以及在通过 SSL/TLS 连接进行通信时应使用的受信任证书。私钥和证书是可选的,如果服务器需要客户端身份验证以进行 PKI 身份验证,则可以使用它们。

PEM 编码文件编辑

使用 PEM 编码文件时,请使用以下设置

xpack.http.ssl.key

(静态) 包含私钥的 PEM 编码文件的路径。

如果需要 HTTP 客户端身份验证,它将使用此文件。您不能同时使用此设置和 ssl.keystore.path

xpack.http.ssl.secure_key_passphrase
(安全) 用于解密私钥的密码。由于密钥可能未加密,因此此值是可选的。
xpack.http.ssl.certificate

(静态) 指定与密钥关联的 PEM 编码证书(或证书链)的路径。

仅当设置了 ssl.key 时才能使用此设置。

xpack.http.ssl.certificate_authorities

(静态) 应信任的 PEM 编码证书文件的路径列表。

此设置和 ssl.truststore.path 不能同时使用。

Java 密钥库文件编辑

使用 Java 密钥库文件 (JKS) 时,这些文件包含私钥、证书以及应信任的证书,请使用以下设置

xpack.http.ssl.keystore.path

(静态) 包含私钥和证书的密钥库文件的路径。

它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和 ssl.key

xpack.http.ssl.keystore.secure_password
(安全) 密钥库的密码。
xpack.http.ssl.keystore.secure_key_password
(安全) 密钥库中密钥的密码。默认值为密钥库密码。
xpack.http.ssl.truststore.path

(静态) 包含应信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。

您不能同时使用此设置和 ssl.certificate_authorities

xpack.http.ssl.truststore.secure_password
(安全) 信任库的密码。

PKCS#12 文件编辑

Elasticsearch 可以配置为使用包含私钥、证书和应信任的证书的 PKCS#12 容器文件(.p12.pfx 文件)。

PKCS#12 文件的配置方式与 Java 密钥库文件相同。

xpack.http.ssl.keystore.path

(静态) 包含私钥和证书的密钥库文件的路径。

它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和 ssl.key

xpack.http.ssl.keystore.type
(静态) 密钥库文件的格式。它必须是 jksPKCS12。如果密钥库路径以 ".p12"、".pfx" 或 ".pkcs12" 结尾,则此设置默认为 PKCS12。否则,它默认为 jks
xpack.http.ssl.keystore.secure_password
(安全) 密钥库的密码。
xpack.http.ssl.keystore.secure_key_password
(安全) 密钥库中密钥的密码。默认值为密钥库密码。
xpack.http.ssl.truststore.path

(静态) 包含应信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。

您不能同时使用此设置和 ssl.certificate_authorities

xpack.http.ssl.truststore.type
(静态) 将此设置为 PKCS12 以指示信任库是 PKCS#12 文件。
xpack.http.ssl.truststore.secure_password
(安全) 信任库的密码。

电子邮件通知设置编辑

您可以在 elasticsearch.yml 中配置以下电子邮件通知设置。有关通过电子邮件发送通知的更多信息,请参阅 配置电子邮件操作

xpack.notification.email.default_account

(动态) 要使用的默认电子邮件帐户。

如果您配置了多个电子邮件帐户,则必须配置此设置或在 email 操作中指定要使用的电子邮件帐户。请参阅 配置电子邮件帐户

xpack.notification.email.account
指定用于通过电子邮件发送通知的帐户信息。您可以指定以下电子邮件帐户属性。
xpack.notification.email.account.domain_allowlist
(动态) 指定允许发送电子邮件的域。收件人(To:Cc:Bcc:)不在这些域中的电子邮件将被拒绝并抛出错误。此设置默认为 ["*"],这意味着允许所有域。支持简单的通配符,例如允许域列表中的 *.company.com
profile
(动态) 要使用的 电子邮件配置文件,用于构建从帐户发送的 MIME 消息。有效值:standardgmailoutlook。默认为 standard
email_defaults.*
(动态) 一组可选的电子邮件属性,用作从帐户发送的电子邮件的默认值。有关支持的属性,请参阅 电子邮件操作属性
smtp.auth
(动态) 设置为 true 以尝试使用 AUTH 命令对用户进行身份验证。默认为 false
smtp.host
(动态) 要连接的 SMTP 服务器。必需的。
smtp.port
(动态) 要连接的 SMTP 服务器端口。默认为 25。
smtp.user
(动态) SMTP 的用户名。必需的。
smtp.secure_password
(安全可重新加载) 指定的 SMTP 用户的密码。
smtp.starttls.enable
(动态) 设置为 true 以启用使用 STARTTLS 命令(如果服务器支持)在发出任何登录命令之前将连接切换到 TLS 保护的连接。请注意,必须配置适当的信任库,以便客户端信任服务器的证书。默认为 false
smtp.starttls.required
(动态) 如果为 true,则需要 STARTTLS。如果该命令失败,则连接将失败。默认为 false
smtp.ssl.trust
(动态) 假设可信的 SMTP 服务器主机列表,并且对这些主机禁用证书验证。如果设置为 "*",则所有主机都可信。如果设置为以空格分隔的主机列表,则这些主机可信。否则,信任取决于服务器提供的证书。
smtp.timeout
(动态) 套接字读取超时。默认值为两分钟。
smtp.connection_timeout
(动态) 套接字连接超时。默认值为两分钟。
smtp.write_timeout
(动态) 套接字写入超时。默认值为两分钟。
smtp.local_address
(动态) 发送电子邮件时可配置的本地地址。默认情况下未配置。
smtp.local_port
(动态) 发送电子邮件时可配置的本地端口。默认情况下未配置。
smtp.send_partial
(动态) 发送电子邮件,即使其中一个接收方地址无效。
smtp.wait_on_quit
(动态) 如果设置为 false,则发送 QUIT 命令并关闭连接。如果设置为 true,则发送 QUIT 命令并等待回复。默认值为 true。
xpack.notification.email.html.sanitization.allow

指定允许在电子邮件通知中使用的 HTML 元素。有关更多信息,请参阅 配置 HTML 净化选项。您可以指定单个 HTML 元素和以下 HTML 功能组。

_tables
(静态) 所有与表格相关的元素:<table><th><tr><td><caption><col><colgroup><thead><tbody><tfoot>
_blocks
(静态) 以下块元素:<p><div><h1><h2><h3><h4><h5><h6><ul><ol><li><blockquote>
_formatting
(静态) 以下内联格式化元素:<b><i><s><u><o><sup><sub><ins><del><strong><strike><tt><code><big><small><hr><br><span><em>
_links
(静态) 带有 href 属性的 <a> 元素,该属性指向使用以下协议的 URL:httphttpsmailto
_styles
(静态) 所有元素上的 style 属性。请注意,CSS 属性也会被净化以防止 XSS 攻击。
img
img:all
(静态) 所有图像(外部和嵌入式)。
img:embedded
(静态) 仅嵌入式图像。嵌入式图像只能在其 src 属性中使用 cid: URL 协议。
xpack.notification.email.html.sanitization.disallow
(静态) 指定在电子邮件通知中不允许使用的 HTML 元素。您可以指定单个 HTML 元素和 HTML 功能组
xpack.notification.email.html.sanitization.enabled
(静态) 设置为 false 以完全禁用 HTML 净化。不推荐。默认为 true
xpack.notification.reporting.warning.kbn-csv-contains-formulas.text
(动态) 指定自定义消息,如果 Kibana 的 xpack.reporting.csv.checkForFormulas 的公式验证标准为 true,则会发送该消息。在消息中使用 %s 作为文件名占位符。默认为 Warning: The attachment [%s] contains characters which spreadsheet applications may interpret as formulas. Please ensure that the attachment is safe prior to opening.

Watcher 电子邮件 TLS/SSL 设置编辑

您可以配置以下 TLS/SSL 设置。

xpack.notification.email.ssl.supported_protocols

(静态) 支持的协议及其版本。有效协议:SSLv2HelloSSLv3TLSv1TLSv1.1TLSv1.2TLSv1.3。如果 JVM 的 SSL 提供程序支持 TLSv1.3,则默认值为 TLSv1.3,TLSv1.2,TLSv1.1。否则,默认值为 TLSv1.2,TLSv1.1

Elasticsearch 依赖于您的 JDK 的 SSL 和 TLS 实现。查看 JDK 版本支持的 SSL/TLS 版本 以了解更多信息。

如果 xpack.security.fips_mode.enabledtrue,则不能使用 SSLv2HelloSSLv3。请参阅 FIPS 140-2

xpack.notification.email.ssl.verification_mode

(静态) 定义如何在 TLS 连接中验证另一方提供的证书

有效值
full
验证提供的证书:具有在 not_beforenot_after 日期范围内的签发日期;链接到受信任的证书颁发机构 (CA);具有与证书中的名称匹配的 hostname 或 IP 地址。
certificate
验证提供的证书并验证它是否由受信任的颁发机构 (CA) 签名,但不检查证书 hostname
none

不执行任何证书验证。

将证书验证设置为 none 会禁用 SSL/TLS 的许多安全优势,这非常危险。仅在 Elastic 支持人员指示的情况下,将其设置为临时诊断机制,以尝试解决 TLS 错误时使用。

默认为 full

xpack.notification.email.ssl.cipher_suites

(静态) 支持的密码套件因您使用的 Java 版本而异。例如,对于版本 12,默认值为 TLS_AES_256_GCM_SHA384TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHATLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHATLS_ECDHE_RSA_WITH_AES_256_CBC_SHATLS_ECDHE_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_GCM_SHA384TLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_AES_128_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHATLS_RSA_WITH_AES_128_CBC_SHA

有关更多信息,请参阅 Oracle 的 Java 密码体系结构文档

Watcher 电子邮件 TLS/SSL 密钥和受信任证书设置编辑

以下设置用于指定私钥、证书以及在通过 SSL/TLS 连接进行通信时应使用的受信任证书。私钥和证书是可选的,如果服务器需要客户端身份验证以进行 PKI 身份验证,则可以使用它们。

PEM 编码文件编辑

使用 PEM 编码文件时,请使用以下设置

xpack.notification.email.ssl.key

(静态) 包含私钥的 PEM 编码文件的路径。

如果需要 HTTP 客户端身份验证,它将使用此文件。您不能同时使用此设置和 ssl.keystore.path

xpack.notification.email.ssl.secure_key_passphrase
(安全) 用于解密私钥的密码。由于密钥可能未加密,因此此值是可选的。
xpack.notification.email.ssl.certificate

(静态) 指定与密钥关联的 PEM 编码证书(或证书链)的路径。

仅当设置了 ssl.key 时才能使用此设置。

xpack.notification.email.ssl.certificate_authorities

(静态) 应信任的 PEM 编码证书文件的路径列表。

此设置和 ssl.truststore.path 不能同时使用。

Java 密钥库文件编辑

使用 Java 密钥库文件 (JKS) 时,这些文件包含私钥、证书以及应信任的证书,请使用以下设置

xpack.notification.email.ssl.keystore.path

(静态) 包含私钥和证书的密钥库文件的路径。

它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和 ssl.key

xpack.notification.email.ssl.keystore.secure_password
(安全) 密钥库的密码。
xpack.notification.email.ssl.keystore.secure_key_password
(安全) 密钥库中密钥的密码。默认值为密钥库密码。
xpack.notification.email.ssl.truststore.path

(静态) 包含应信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。

您不能同时使用此设置和 ssl.certificate_authorities

xpack.notification.email.ssl.truststore.secure_password
(安全) 信任库的密码。

PKCS#12 文件编辑

Elasticsearch 可以配置为使用包含私钥、证书和应信任的证书的 PKCS#12 容器文件(.p12.pfx 文件)。

PKCS#12 文件的配置方式与 Java 密钥库文件相同。

xpack.notification.email.ssl.keystore.path

(静态) 包含私钥和证书的密钥库文件的路径。

它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和 ssl.key

xpack.notification.email.ssl.keystore.type
(静态) 密钥库文件的格式。它必须是 jksPKCS12。如果密钥库路径以 ".p12"、".pfx" 或 ".pkcs12" 结尾,则此设置默认为 PKCS12。否则,它默认为 jks
xpack.notification.email.ssl.keystore.secure_password
(安全) 密钥库的密码。
xpack.notification.email.ssl.keystore.secure_key_password
(安全) 密钥库中密钥的密码。默认值为密钥库密码。
xpack.notification.email.ssl.truststore.path

(静态) 包含应信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。

您不能同时使用此设置和 ssl.certificate_authorities

xpack.notification.email.ssl.truststore.type
(静态) 将此设置为 PKCS12 以指示信任库是 PKCS#12 文件。
xpack.notification.email.ssl.truststore.secure_password
(安全) 信任库的密码。

Slack 通知设置编辑

您可以在 elasticsearch.yml 中配置以下 Slack 通知设置。有关通过 Slack 发送通知的更多信息,请参阅 配置 Slack 操作

xpack.notification.slack.default_account

(动态) 要使用的默认 Slack 帐户。

如果您配置了多个 Slack 帐户,则必须配置此设置或在 slack 操作中指定要使用的 Slack 帐户。请参阅 配置 Slack 帐户

xpack.notification.slack.account

指定用于通过 Slack 发送通知的帐户信息。您可以指定以下 Slack 帐户属性

secure_url
(安全可重新加载) 用于将消息发布到 Slack 的传入 Webhook URL。必需。
message_defaults

用于 Slack 消息属性 的默认值。

from
(动态) 在 Slack 消息中显示的发件人姓名。默认为监视 ID。
to
(动态) 您要向其发送消息的默认 Slack 频道或组。
icon
(动态) 在 Slack 消息中显示的图标。覆盖传入 Webhook 配置的图标。接受指向图像的公共 URL。
text
(动态) 默认消息内容。
attachment
(动态) 默认消息附件。Slack 消息附件使您可以创建更丰富的格式化消息。指定为数组,如 Slack 附件文档 中所定义。

Jira 通知设置edit

您可以在 elasticsearch.yml 中配置以下 Jira 通知设置。有关使用通知在 Jira 中创建问题的更多信息,请参阅 配置 Jira 操作

xpack.notification.jira.default_account

(动态) 要使用的默认 Jira 帐户。

如果您配置了多个 Jira 帐户,则必须配置此设置或在 jira 操作中指定要使用的 Jira 帐户。请参阅 配置 Jira 帐户

xpack.notification.jira.account

指定用于使用通知在 Jira 中创建问题的帐户信息。您可以指定以下 Jira 帐户属性

allow_http
(动态) 如果为 false,则 Watcher 会拒绝使用 HTTP 协议的 URL 设置。默认为 false
secure_url
(安全可重新加载) Jira Software 服务器的 URL。必需。
secure_user
(安全可重新加载) 用于连接到 Jira Software 服务器的用户名。必需。
secure_password
(安全可重新加载) 用于连接到 Jira Software 服务器的用户的密码。必需。
issue_defaults
(动态) 在 Jira 中创建的问题的默认字段值。有关更多信息,请参阅 Jira 操作属性。可选。

PagerDuty 通知设置edit

您可以在 elasticsearch.yml 中配置以下 PagerDuty 通知设置。有关通过 PagerDuty 发送通知的更多信息,请参阅 配置 PagerDuty 操作

xpack.notification.pagerduty.default_account

(动态) 要使用的默认 PagerDuty 帐户。

如果您配置了多个 PagerDuty 帐户,则必须配置此设置或在 pagerduty 操作中指定要使用的 PagerDuty 帐户。请参阅 配置 PagerDuty 帐户

xpack.notification.pagerduty.account

指定用于通过 PagerDuty 发送通知的帐户信息。您可以指定以下 PagerDuty 帐户属性

name
(静态) 与您用于访问 PagerDuty 的 API 密钥关联的 PagerDuty 帐户的名称。必需。
secure_service_api_key
(安全可重新加载) 用于访问 PagerDuty 的 PagerDuty API 密钥。必需。
event_defaults

用于 PagerDuty 事件属性 的默认值。可选。

description
(动态) 包含 PagerDuty 事件的默认描述的字符串。如果未配置默认值,则每个 PagerDuty 操作都必须指定 description
incident_key
(动态) 包含发送 PagerDuty 事件时要使用的默认事件密钥的字符串。
client
(动态) 指定默认监控客户端的字符串。
client_url
(动态) 默认监控客户端的 URL。
event_type
(动态) 默认事件类型。有效值:triggerresolveacknowledge
attach_payload
(动态) 是否默认将监视有效负载作为事件的上下文提供。有效值:truefalse