本地英文版地址: ../en/notification-settings.html
你可以配置 预警(Watcher) 设置,以设置观察器并通过email、Slack(世界上最受欢迎的工作平台和团队消息传递应用程序之一) 及 PagerDuty(一套付费监控报警系统) 来发送提醒。
所有这些设置都可以添加到 elasticsearch.yml 配置文件中,只有安全设置除外,它是添加到 Elasticsearch 密钥库中的。
有关创建和更新 Elasticsearch 密钥库的更多信息,请参考 安全设置。
还可以使用 集群更新设置 API 动态更新整个集群的设置。
常规预警设置
-
xpack.watcher.enabled -
设置为
false以在该节点上禁用预警。 -
xpack.watcher.encrypt_sensitive_data -
设置为
true以加密敏感数据。 如果启用了该设置,还必须同时指定xpack.watcher.encryption_key设置。 更多信息请参考 在预警中加密敏感数据。 -
xpack.watcher.encryption_key(安全) -
指定包含用于加密敏感数据的密钥的文件的路径。
如果
xpack.watcher.encrypt_sensitive_data被设置为true,此设置也必须设置。 更多信息请参考 在预警中加密敏感数据。 -
xpack.watcher.history.cleaner_service.enabled -
[6.3.0] 在 6.3.0 版本中添加的。默认值变更为
true。 [7.0.0] 在 7.0.0 版本中废弃。预警历史索引现在在watch-history-ilm-policyILM 策略下管理。设置为
true(默认值) 有启用清理服务。 如果此设置值为true,则xpack.monitoring.enabled也必须设置为true,并启用 本地导出器(local exporter)。 当清理服务确定以前版本的预警索引(比如,.watcher-history*)是旧的时,会移除他们。 预警索引的保留时间由xpack.monitoring.history.duration设置决定,默认为 7 天。 更多信息请参考 监控设置。 -
xpack.http.proxy.host - 指定用于连接HTTP服务的代理服务器的地址。
-
xpack.http.proxy.port - 指定用于连接代理服务器的端口号。
-
xpack.http.default_connection_timeout - 当启动连接时,等待请求中止的最长时间。
-
xpack.http.default_read_timeout - 请求中止前,两个数据包之间的最长不活动时间。
-
xpack.http.max_response_size -
指定HTTP响应允许的最大大小,默认值为
10mb,最大可配置为50mb。 -
xpack.http.whitelist -
允许内部HTTP客户端连接的URL列表。
这个客户机用于HTTP输入、webhook、slack、pagerduty 和 jira 操作。
默认值
*允许所有。 注意:如果你配置了此设置,并且正在使用 slack 或 page duty 操作,则必须确保相应的 终端(endpoint) 也被显式允许。
你可以配置以下TLS/SSL设置:
-
xpack.http.ssl.supported_protocols -
支持的协议版本。 可用的协议包括:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3。 如果JVM的 SSL 提供程序支持 TLSv1.3,则默认值为TLSv1.3,TLSv1.2,TLSv1.1;否则,默认值为TLSv1.2,TLSv1.1。如果
xpack.security.fips_mode.enabled为true,则你不能使用SSLv2Hello和SSLv3。 参见 FIPS 140-2。 -
xpack.http.ssl.verification_mode -
控制证书的验证。有效值包括:
-
full,用于验证所提供的证书是否由可信机构(CA)签名,还验证服务器的主机名(或IP地址)是否与证书中标识的名称匹配。 -
certificate,用于验证所提供的证书是否由可信机构(CA)签名,但不执行任何主机名验证。 -
none,不验证服务器的证书。 这种模式禁用了 SSL/TLS 的许多安全优势,应该在非常谨慎的考虑之后才使用。 它主要用作尝试解决 TLS 错误时的临时诊断机制;强烈建议不要在生产集群上使用它。默认值为
full
-
-
xpack.http.ssl.cipher_suites -
支持的密码套件因使用的 Java 版本而异。 例如,对于版本11,默认值为
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.上面列出的默认密码套件包括 TLSv1.3 密码和需要 Java 加密扩展(JCE)无限强度权限策略文件进行256位 AES 加密的密码。 如果 TLSv1.3 不可用,则 TLSv1.3 密码
TLS_AES_256_GCM_SHA384和TLS_AES_128_GCM_SHA256不会包括在默认列表中。 如果 256-bit AES 不可用,则名字中有AES_256的密码不会包含在默认列表中。 最后,AES GCM 在 Java 11 之前的版本中存在已知的性能问题,只有在使用 Java 11 或更高版本时才会包含在默认列表中。有关更多信息,请参见Oracle的 Java加密体系结构文档 。
下列设置用于指定通过SSL/TLS连接通信时应使用的私钥、证书和可信证书。 私钥和证书是可选的,如果服务器要求对PKI身份验证进行客户端身份验证,将会使用它们。
使用 PEM 编码文件时,请使用以下设置:
-
xpack.http.ssl.key - 包含私钥的 PEM 编码文件的路径。
-
xpack.http.ssl.key_passphrase - 用于解密私钥的密码。由于密钥可能没有加密,因此该值是可选的。
-
xpack.http.ssl.secure_key_passphrase(Secure) - 用于解密私钥的密码。由于密钥可能没有加密,因此该值是可选的
-
xpack.http.ssl.certificate - 指定与密钥相关的 PEM 编码证书(或证书链)的路径。
-
xpack.http.ssl.certificate_authorities - 应该受信任的 PEM 编码证书文件的路径列表。
使用包含私钥、证书和应该信任的证书的 Java 密钥库文件(JKS, Java keystore file)时,请使用以下设置:
-
xpack.http.ssl.keystore.path - 包含私钥和证书的密钥库文件的路径。
-
xpack.http.ssl.keystore.password - 密钥库的密码。
-
xpack.http.ssl.keystore.secure_password(安全) - 密钥库的密码。
-
xpack.http.ssl.keystore.key_password - 密钥库中密钥的密码。默认值是 密钥库密码(keystore password)。
-
xpack.http.ssl.keystore.secure_key_password(安全) - 密钥库中密钥的密码。默认值是 密钥库密码(keystore password)。
-
xpack.http.ssl.truststore.path - 包含要信任的证书的密钥库的路径。 它必须是 Java 密钥库(jks) 或 PKCS#12 文件。
-
xpack.http.ssl.truststore.password - 信任库的密码。
-
xpack.http.ssl.truststore.secure_password(安全) - 信任库的密码。
Elasticsearch可以配置为使用 PKCS#12 容器文件(.p12 或 .pfx文件),它包含私钥、证书和应该被信任的证书。
PKCS#12 文件的配置方式与 Java 密钥库文件相同:
-
xpack.http.ssl.keystore.path - 包含私钥和证书的密钥库文件的路径。
-
xpack.http.ssl.keystore.type -
密钥库文件的格式,必须是
jks或PKCS12。 如果秘钥库路径以 ".p12"、".pfx" 或 ".pkcs12" 结尾,则其默认值为PKCS12;否则,默认值为jks -
xpack.http.ssl.keystore.password - 密钥库的密码。
-
xpack.http.ssl.keystore.secure_password(安全) - 密钥库的密码。
-
xpack.http.ssl.keystore.key_password - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.http.ssl.keystore.secure_key_password(安全) - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.http.ssl.truststore.path - 包含要信任的证书的密钥库的路径。它必须是Java密钥库(jks) 或 PKCS#12 文件。
-
xpack.http.ssl.truststore.type -
将此项设置为
PKCS12,以表明信任库是 PKCS#12 文件。 -
xpack.http.ssl.truststore.password - 信任库的密码。
-
xpack.http.ssl.truststore.secure_password(安全) - 信任库的密码。
Elasticsearch 可以被配置为使用 PKCS#11 令牌,该令牌包含私钥、证书和应该被信任的证书。
PKCS#11 令牌需要在JVM级别进行额外配置,可以通过以下设置启用:
-
xpack.http.keystore.type -
将此项设置为
PKCS11,以表明 PKCS#11 令牌应该被用作密钥库。 -
xpack.http.truststore.type -
信任库文件的格式。
对于Java秘钥库格式,使用
jks。 对于 PKCS#12 文件,使用PKCS12。 对于 PKCS#11 令牌, 使用PKCS11。 默认值为jks
在配置 PKCS#11 令牌(即 JVM 被配置为用作 Elasticsearch 的密钥库或信任库)时,可以通过在所配置的上下文中将适当的值设置为ssl.truststore.password 或 ssl.truststore.secure_password来配置令牌的PIN。
由于只能配置一个 PKCS#11 令牌,因此在 Elasticsearch 中只能配置一个密钥库和信任库。
这反过来意味着只有一个证书可用于传输层和http层的TLS。
Email 通知设置
你可以在 elasticsearch.yml 中配置以下邮件通知设置。
有关通过电子邮件发送通知的详细信息,请参考 配置邮件行为。
-
xpack.notification.email.account -
指定通过电子邮件发送通知的帐户信息。 可以指定以下电子邮件帐户属性:
-
profile(动态) -
email配置用来构建从帐户发送的MIME消息。
可用的值有:
standard、gmail及outlook。 默认值为standard。 -
email_defaults.*(动态) - 一组可选的电子邮件属性,作为从该帐户发送的电子邮件的默认值。 有关支持的属性,参考 Email 行为属性。
-
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(动态) - socket 读取超时。默认值为 2 分钟。
-
smtp.connection_timeout(动态) - socket 连接超时时间,默认值为 2 分钟。
-
smtp.write_timeout(动态) - socket 写超时时间,默认值为 2 分钟。
-
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清理选项ons。 您可以指定单个HTML元素和以下HTML功能组:
-
_tables -
所有与table有关的元素:
<table>、<th>、<tr>及<td>。 -
_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>,<br>,<span>, 及<em>。 -
_links -
带有
href属性的<a>元素,使用以下协议指向一个 URL:http,https及mailto。 -
_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。
可以配置以下TLS/SSL设置。
-
xpack.notification.email.ssl.supported_protocols -
支持的协议版本。可用的协议包括:
SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3。 如果 JVM 的 SSL 提供程序支持 TLSv1.3,则默认值为TLSv1.3,TLSv1.2,TLSv1.1;否则,默认值为TLSv1.2,TLSv1.1如果
xpack.security.fips_mode.enabled为true,则你不能使用SSLv2Hello和SSLv3。 参见 FIPS 140-2。 -
xpack.notification.email.ssl.verification_mode -
控制证书的验证。有效值包括:
-
full,用于验证所提供的证书是否由可信机构(CA)签名,还验证服务器的主机名(或IP地址)是否与证书中标识的名称匹配。 -
certificate,用于验证所提供的证书是否由可信机构(CA)签名,但不执行任何主机名验证。 -
none,不验证服务器的证书。 这种模式禁用了 SSL/TLS 的许多安全优势,应该在非常谨慎的考虑之后才使用。 它主要用作尝试解决 TLS 错误时的临时诊断机制;强烈建议不要在生产集群上使用它。默认值为
full
-
-
xpack.notification.email.ssl.cipher_suites -
支持的密码套件因使用的 Java 版本而异。例如,对于版本11,默认值为
TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA.上面列出的默认密码套件包括 TLSv1.3 密码和需要 Java 加密扩展(JCE)无限强度权限策略文件进行256位 AES 加密的密码。 如果 TLSv1.3 不可用,则 TLSv1.3 密码
TLS_AES_256_GCM_SHA384和TLS_AES_128_GCM_SHA256不会包括在默认列表中。 如果 256-bit AES 不可用,则名字中有AES_256的密码不会包含在默认列表中。 最后,AES GCM 在 Java 11 之前的版本中存在已知的性能问题,只有在使用 Java 11 或更高版本时才会包含在默认列表中。有关更多信息,请参见Oracle的 Java加密体系结构文档 。
以下设置用于指定通过SSL/TLS连接进行通信时应使用的私钥、证书和可信证书。 必须配置私钥和证书。 私钥和证书是可选的,如果服务器要求对PKI身份验证进行客户端身份验证,将会使用它们。
使用 PEM 编码文件时,请使用以下设置:
-
xpack.notification.email.ssl.key - 包含私钥的 PEM 编码文件的路径。
-
xpack.notification.email.ssl.key_passphrase - 用于解密私钥的密码。由于密钥可能没有加密,因此该值是可选的。
-
xpack.notification.email.ssl.secure_key_passphrase(安全) - 用于解密私钥的密码。由于密钥可能没有加密,因此该值是可选的。
-
xpack.notification.email.ssl.certificate - 指定与密钥相关的 PEM 编码证书(或证书链)的路径。
-
xpack.notification.email.ssl.certificate_authorities - 应该受信任的 PEM 编码证书文件的路径列表。
使用包含私钥、证书和应该信任的证书的 Java 密钥库文件(JKS, Java keystore file)时,请使用以下设置:
-
xpack.notification.email.ssl.keystore.path - 包含私钥和证书的密钥库文件的路径。
-
xpack.notification.email.ssl.keystore.password - 密钥库的密码。
-
xpack.notification.email.ssl.keystore.secure_password(安全) - 密钥库的密码。
-
xpack.notification.email.ssl.keystore.key_password - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.notification.email.ssl.keystore.secure_key_password(Secure) - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.notification.email.ssl.truststore.path - 包含要信任的证书的密钥库的路径。它必须是Java密钥库(jks) 或 PKCS#12 文件。
-
xpack.notification.email.ssl.truststore.password - 信任库的密码。
-
xpack.notification.email.ssl.truststore.secure_password(Secure) - 信任库的密码。
Elasticsearch可以配置为使用 PKCS#12 容器文件(.p12 或 .pfx文件),它包含私钥、证书和应该被信任的证书。
PKCS#12 文件的配置方式与 Java 密钥库文件相同:
-
xpack.notification.email.ssl.keystore.path - 包含私钥和证书的密钥库文件的路径。
-
xpack.notification.email.ssl.keystore.type -
密钥库文件的格式,必须是
jks或PKCS12。 如果秘钥库路径以 ".p12"、".pfx" 或 ".pkcs12" 结尾,则其默认值为PKCS12;否则,默认值为jks -
xpack.notification.email.ssl.keystore.password - 密钥库的密码。
-
xpack.notification.email.ssl.keystore.secure_password(安全) - 密钥库的密码。
-
xpack.notification.email.ssl.keystore.key_password - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.notification.email.ssl.keystore.secure_key_password(安全) - 密钥库中密钥的密码。默认值是密钥库密码。
-
xpack.notification.email.ssl.truststore.path - 包含要信任的证书的密钥库的路径。它必须是Java密钥库(jks) 或 PKCS#12 文件。
-
xpack.notification.email.ssl.truststore.type -
将此项设置为
PKCS12,以表明信任库是 PKCS#12 文件。 -
xpack.notification.email.ssl.truststore.password - 信任库的密码。
-
xpack.notification.email.ssl.truststore.secure_password(安全) - 信任库的密码。
Elasticsearch 可以被配置为使用 PKCS#11 令牌,该令牌包含私钥、证书和应该被信任的证书。
PKCS#11 令牌需要在JVM级别进行额外配置,可以通过以下设置启用:
-
xpack.notification.email.keystore.type -
将此项设置为
PKCS11,以表明 PKCS#11 令牌应该被用作密钥库。 -
xpack.notification.email.truststore.type -
信任库文件的格式。
对于Java秘钥库格式,使用
jks。 对于 PKCS#12 文件,使用PKCS12。 对于 PKCS#11 令牌, 使用PKCS11。 默认值为jks
在配置 PKCS#11 令牌(即 JVM 被配置为用作 Elasticsearch 的密钥库或信任库)时,可以通过在所配置的上下文中将适当的值设置为ssl.truststore.password 或 ssl.truststore.secure_password来配置令牌的PIN。
由于只能配置一个 PKCS#11 令牌,因此在 Elasticsearch 中只能配置一个密钥库和信任库。
这反过来意味着只有一个证书可用于传输层和http层的TLS。
Slack 通知设置
您可以在elasticsearch.yml中配置以下 Slack 通知设置。
有关通过 Slack 发送通知的更多信息,参考 配置 Slack 行为。
-
xpack.notification.slack -
指定通过 Slack 发送通知的帐户信息。可以指定以下 Slack 帐户属性:
-
secure_url(安全) - 用于向 Slack 发布消息的传入 Webhook URL。必需的。
-
message_defaults.from - 要在 Slack 消息中显示的发件人姓名。默认为 预警的ID。
-
message_defaults.to - 要向其发送消息的默认 Slack 频道或组。
-
message_defaults.icon - 在 Slack 消息中显示的图标。覆盖 传入 webhook 配置的图标。 接受一个图像的公共 URL。
-
message_defaults.text - 默认的消息的内容。
-
message_defaults.attachment - 默认的消息的附件。 Slack 消息附件使你能够创建格式更丰富的消息。 可指定为 Slack 附件文档 中定义的数组。
-
Jira 通知设置
可以在elasticsearch.yml中配置以下 Jira 通知设置。
有关在 Jira 中使用通知创建问题的详情,请参考 配置 Jira 行为。
-
xpack.notification.jira -
指定使用通知在 Jira 创建问题的帐户信息。你可以指定以下 Jira 帐户属性:
PagerDuty 通知设置
你可以在 elasticsearch.yml 中配置以下 PagerDuty 通知设置。
有关通过 PagerDuty 发送通知的详细信息,请参阅 配置 PagerDuty 行为。
-
xpack.notification.pagerduty -
指定通过 PagerDuty 发送通知的帐户信息。你可以指定以下 PagerDuty 责任帐户属性:
-
name - 与用于访问 PagerDuty 的 API key 相关联的 PagerDuty 帐户的名称。必需的。
-
secure_service_api_key(安全) - 用于访问 PagerDuty 的 PagerDuty API key。必需的。
-
event_defaults -
PagerDuty 事件属性 的默认值。 选填。
-
description -
一个字符串,包含 PagerDuty 事件的默认描述。
如果没有配置默认值,每个 PagerDuty 操作都必须指定一个
description。 -
incident_key - 一个字符串,包含发送 PagerDuty 事件时使用的默认事件的 key。
-
client - 一个字符串,指定默认的监视客户端。
-
client_url - 默认的监视客户端的 URL 。
-
event_type -
默认的时间类型。
有效的值有:
trigger,resolve,acknowledge。 -
attach_payload -
默认情况下,是否提供监视负载作为事件的上下文。
有效的值有:
true,false。
-
-