Elasticsearch 中的监控设置
编辑Elasticsearch 中的监控设置
编辑在 7.16 中已弃用。
使用 Elasticsearch 监控插件来收集和传输监控数据已弃用。建议使用 Elastic Agent 和 Metricbeat 来收集监控数据并将其传输到监控集群。如果您之前配置了传统的收集方法,则应迁移到使用Elastic Agent或Metricbeat收集方法。
默认情况下,Elasticsearch 监控功能已启用,但数据收集已禁用。要启用数据收集,请使用 xpack.monitoring.collection.enabled
设置。
除非另有说明,否则这些设置可以使用 cluster-update-settings API 在运行中的集群上动态更新。
要调整监控数据在监控 UI 中的显示方式,请在 kibana.yml
中配置 xpack.monitoring
设置。要控制如何从 Logstash 收集监控数据,请在 logstash.yml
中配置监控设置。
有关更多信息,请参阅监控集群。
常规监控设置
编辑-
xpack.monitoring.enabled
- [7.8.0] 在 7.8.0 中已弃用。基础许可证功能应始终启用 (静态) 此已弃用设置无效。
监控收集设置
编辑xpack.monitoring.collection
设置控制如何从 Elasticsearch 节点收集数据。
-
xpack.monitoring.collection.enabled
- (动态) [7.16.0] 在 7.16.0 中已弃用。 设置为
true
以启用监控数据的收集。当此设置是false
(默认)时,将不会收集 Elasticsearch 监控数据,并且将忽略来自其他来源(如 Kibana、Beats 和 Logstash)的所有监控数据。
-
xpack.monitoring.collection.interval
-
[6.3.0] 在 6.3.0 中已弃用。请改用设置为
false
的xpack.monitoring.collection.enabled
。 (动态) 从 7.0.0 开始,不再支持设置为-1
以禁用数据收集。控制数据样本的收集频率。默认为
10s
。如果修改了收集间隔,请将kibana.yml
中的xpack.monitoring.min_interval_seconds
选项设置为相同的值。 -
xpack.monitoring.elasticsearch.collection.enabled
- (动态) [7.16.0] 在 7.16.0 中已弃用。 控制是否应收集有关 Elasticsearch 集群的统计信息。默认为
true
。这与xpack.monitoring.collection.enabled
不同,后者允许您启用或禁用所有监控收集。但是,此设置只是禁用 Elasticsearch 数据的收集,同时仍然允许其他数据(例如,Kibana、Logstash、Beats 或 APM 服务器监控数据)通过此集群。 -
xpack.monitoring.collection.cluster.stats.timeout
- (动态) [7.16.0] 在 7.16.0 中已弃用。 收集集群统计信息的超时时间,以时间单位表示。默认为
10s
。 -
xpack.monitoring.collection.node.stats.timeout
- (动态) [7.16.0] 在 7.16.0 中已弃用。 收集节点统计信息的超时时间,以时间单位表示。默认为
10s
。 -
xpack.monitoring.collection.indices
- (动态) [7.16.0] 在 7.16.0 中已弃用。 控制监控功能从哪些索引收集数据。默认为所有索引。将索引名称指定为以逗号分隔的列表,例如
test1,test2,test3
。名称可以包括通配符,例如test*
。您可以通过在前面添加-
来显式排除索引。例如,test*,-test3
将监控以test
开头的所有索引,除了test3
。像 .security* 或 .kibana* 这样的系统索引总是以.
开头,通常应该被监控。考虑在索引列表中添加.*
以确保监控系统索引。例如:.*,test*,-test3
-
xpack.monitoring.collection.index.stats.timeout
- (动态) [7.16.0] 在 7.16.0 中已弃用。 收集索引统计信息的超时时间,以时间单位表示。默认为
10s
。 -
xpack.monitoring.collection.index.recovery.active_only
- (动态) [7.16.0] 在 7.16.0 中已弃用。 控制是否收集所有恢复。设置为
true
以仅收集活动恢复。默认为false
。 -
xpack.monitoring.collection.index.recovery.timeout
- (动态) [7.16.0] 在 7.16.0 中已弃用。 收集恢复信息的超时时间,以时间单位表示。默认为
10s
。
-
xpack.monitoring.exporters
- (静态) 配置代理存储监控数据的位置。默认情况下,代理使用本地导出器,该导出器在安装它的集群上索引监控数据。使用 HTTP 导出器将数据发送到单独的监控集群。有关更多信息,请参阅本地导出器设置、HTTP 导出器设置和工作原理。
本地导出器设置
编辑local
导出器是监控功能使用的默认导出器。顾名思义,它将数据导出到本地集群,这意味着不需要太多配置。
如果您不提供任何导出器,则监控功能会自动为您创建一个。如果提供了任何导出器,则不会添加默认导出器。
xpack.monitoring.exporters.my_local: type: local
-
type
-
[7.16.0] 在 7.16.0 中已弃用。 本地导出器的值必须始终为
local
,并且是必需的。 -
use_ingest
- 是否为集群提供占位符管道,并为每个批量请求提供管道处理器。默认值为
true
。如果禁用,则意味着它将不使用管道,这意味着未来版本无法自动将批量请求升级到未来版本。 -
cluster_alerts.management.enabled
-
[7.16.0] 在 7.16.0 中已弃用。 是否为此集群创建集群警报。默认值为
true
。要使用此功能,必须启用 Watcher。如果您有基础许可证,则不会显示集群警报。 -
wait_master.timeout
-
[7.16.0] 在 7.16.0 版本中已弃用。 等待主节点设置用于监控的
local
导出器的时间,以时间单位表示。在该等待时间过后,非主节点会警告用户可能缺少配置。默认为30s
。
HTTP 导出器设置
编辑以下列出了可以使用 http
导出器提供的设置。所有设置都以您为导出器选择的名称后跟的形式显示
xpack.monitoring.exporters.my_remote: type: http host: ["host:port", ...]
-
type
-
[7.16.0] 在 7.16.0 版本中已弃用。 HTTP 导出器的值必须始终为
http
,并且是必需的。 -
host
-
[7.16.0] 在 7.16.0 版本中已弃用。 Host 支持多种格式,既可以是数组,也可以是单个值。支持的格式包括
hostname
、hostname:port
、http://hostname
、http://hostname:port
、https://hostname
和https://hostname:port
。主机不能被假定。默认方案始终为http
,如果未在host
字符串中提供,则默认端口始终为9200
。xpack.monitoring.exporters: example1: type: http host: "10.1.2.3" example2: type: http host: ["http://10.1.2.4"] example3: type: http host: ["10.1.2.5", "10.1.2.6"] example4: type: http host: ["https://10.1.2.3:9200"]
-
auth.username
-
[7.16.0] 在 7.16.0 版本中已弃用。 如果提供了
auth.secure_password
,则用户名是必需的。 -
auth.secure_password
- (安全,可重新加载) [7.16.0] 在 7.16.0 版本中已弃用。
auth.username
的密码。 -
connection.timeout
-
[7.16.0] 在 7.16.0 版本中已弃用。 HTTP 连接应该等待套接字打开以进行请求的时间量,以时间单位表示。默认值为
6s
。 -
connection.read_timeout
-
[7.16.0] 在 7.16.0 版本中已弃用。 HTTP 连接应该等待套接字发回响应的时间量,以时间单位表示。默认值为
10 * connection.timeout
(如果两者都未设置,则为60s
)。 -
ssl
- [7.16.0] 在 7.16.0 版本中已弃用。 每个 HTTP 导出器都可以定义自己的 TLS/SSL 设置或继承它们。请参阅X-Pack 监控 TLS/SSL 设置。
-
proxy.base_path
-
[7.16.0] 在 7.16.0 版本中已弃用。 要为任何传出请求添加前缀的基本路径,例如
/base/path
(例如,批量请求将作为/base/path/_bulk
发送)。没有默认值。 -
headers
-
[7.16.0] 在 7.16.0 版本中已弃用。 添加到每个请求的可选标头,可以帮助通过代理路由请求。
xpack.monitoring.exporters.my_remote: headers: X-My-Array: [abc, def, xyz] X-My-Header: abc123
基于数组的标头发送
n
次,其中n
是数组的大小。Content-Type
和Content-Length
无法设置。监控代理创建的任何标头都将覆盖此处定义的任何内容。 -
index.name.time_format
-
[7.16.0] 在 7.16.0 版本中已弃用。 用于更改每日监控索引的默认日期后缀的机制。默认格式为
yyyy.MM.dd
。例如,.monitoring-es-7-2021.08.26
。 -
use_ingest
- 是否向监控集群提供占位符管道以及每个批量请求的管道处理器。默认值为
true
。如果禁用,则意味着它不会使用管道,这意味着未来的版本无法自动将批量请求升级到面向未来的版本。 -
cluster_alerts.management.enabled
-
[7.16.0] 在 7.16.0 中已弃用。 是否为此集群创建集群警报。默认值为
true
。要使用此功能,必须启用 Watcher。如果您有基础许可证,则不会显示集群警报。 -
cluster_alerts.management.blacklist
-
[7.16.0] 在 7.16.0 版本中已弃用。 阻止创建特定的集群警报。它还会删除当前集群中已存在的任何适用监视。
您可以将以下任何监视标识符添加到阻止警报的列表中
-
elasticsearch_cluster_status
-
elasticsearch_version_mismatch
-
elasticsearch_nodes
-
kibana_version_mismatch
-
logstash_version_mismatch
-
xpack_license_expiration
例如:
["elasticsearch_version_mismatch","xpack_license_expiration"]
。 -
X-Pack 监控 TLS/SSL 设置
编辑您可以配置以下 TLS/SSL 设置。
-
xpack.monitoring.exporters.$NAME.ssl.supported_protocols
-
(静态) [7.16.0] 在 7.16.0 版本中已弃用。 支持的协议和版本。有效协议:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.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.enabled
为true
,则不能使用SSLv2Hello
或SSLv3
。请参阅FIPS 140-2。 -
xpack.monitoring.exporters.$NAME.ssl.verification_mode
-
(静态) [7.16.0] 在 7.16.0 版本中已弃用。 控制证书的验证。
有效值
-
full
- 验证提供的证书:具有在
not_before
和not_after
日期内的颁发日期;链接到受信任的证书颁发机构 (CA);具有与证书中的名称匹配的hostname
或 IP 地址。 -
certificate
- 验证提供的证书并验证它是否由受信任的机构 (CA) 签名,但不检查证书
hostname
。 -
none
-
不执行任何证书验证。
将证书验证设置为
none
会禁用 SSL/TLS 的许多安全优势,这是非常危险的。仅当 Elastic 支持人员指示您在尝试解决 TLS 错误时将其作为临时诊断机制时才设置此值。
默认为
full
。 -
-
xpack.monitoring.exporters.$NAME.ssl.cipher_suites
-
(静态) [7.16.0] 在 7.16.0 版本中已弃用。 支持的密码套件因您使用的 Java 版本而异。例如,对于版本 12,默认值为
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_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_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_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
。有关更多信息,请参阅 Oracle 的Java 加密架构文档。
X-Pack 监控 TLS/SSL 密钥和受信任的证书设置
编辑以下设置用于指定私钥、证书以及在通过 SSL/TLS 连接进行通信时应使用的受信任证书。私钥和证书是可选的,如果服务器需要 PKI 身份验证的客户端身份验证,则会使用它们。
PEM 编码文件
编辑使用 PEM 编码文件时,请使用以下设置
-
xpack.monitoring.exporters.$NAME.ssl.key
-
(静态) [7.16.0] 在 7.16.0 版本中已弃用。 包含私钥的 PEM 编码文件的路径。
如果需要 HTTP 客户端身份验证,则使用此文件。您不能同时使用此设置和
ssl.keystore.path
。 -
xpack.monitoring.exporters.$NAME.ssl.key_passphrase
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 用于解密私钥的密码。由于密钥可能未加密,因此此值是可选的。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.secure_key_passphrase
代替。您不能同时使用此设置和
ssl.secure_key_passphrase
。 -
xpack.monitoring.exporters.$NAME.ssl.secure_key_passphrase
- (安全) [7.16.0] 在 7.16.0 中已弃用。 用于解密私钥的密码。由于密钥可能未加密,因此此值是可选的。
-
xpack.monitoring.exporters.$NAME.ssl.certificate
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 指定与密钥关联的 PEM 编码证书(或证书链)的路径。
仅当设置了
ssl.key
时,才能使用此设置。 -
xpack.monitoring.exporters.$NAME.ssl.certificate_authorities
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 PEM 编码证书文件路径的列表,这些文件应被信任。
此设置和
ssl.truststore.path
不能同时使用。
Java 密钥库文件
编辑当使用包含私钥、证书和应信任证书的 Java 密钥库文件 (JKS) 时,请使用以下设置
-
xpack.monitoring.exporters.$NAME.ssl.keystore.path
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 包含私钥和证书的密钥库文件的路径。
它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和
ssl.key
。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.password
- (静态) 密钥库的密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.keystore.secure_password
代替。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.secure_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 密钥库的密码。
-
xpack.monitoring.exporters.$NAME.ssl.keystore.key_password
-
(静态) 密钥库中密钥的密码。默认值为密钥库密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.keystore.secure_key_password
代替。您不能同时使用此设置和
ssl.keystore.secure_password
。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.secure_key_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 密钥库中密钥的密码。默认值为密钥库密码。
-
xpack.monitoring.exporters.$NAME.ssl.truststore.path
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 包含要信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。
您不能同时使用此设置和
ssl.certificate_authorities
。 -
xpack.monitoring.exporters.$NAME.ssl.truststore.password
-
(静态) 信任库的密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.truststore.secure_password
代替。您不能同时使用此设置和
ssl.truststore.secure_password
。 -
xpack.monitoring.exporters.$NAME.ssl.truststore.secure_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 信任库的密码。
PKCS#12 文件
编辑可以配置 Elasticsearch 以使用包含私钥、证书和应信任证书的 PKCS#12 容器文件(.p12
或 .pfx
文件)。
PKCS#12 文件的配置方式与 Java 密钥库文件相同
-
xpack.monitoring.exporters.$NAME.ssl.keystore.path
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 包含私钥和证书的密钥库文件的路径。
它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。您不能同时使用此设置和
ssl.key
。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.type
- (静态) [7.16.0] 在 7.16.0 中已弃用。 密钥库文件的格式。它必须是
jks
或PKCS12
。如果密钥库路径以 ".p12"、".pfx" 或 ".pkcs12" 结尾,则此设置默认为PKCS12
。否则,它默认为jks
。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.password
- (静态) [7.16.0] 在 7.16.0 中已弃用。 密钥库的密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.keystore.secure_password
代替。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.secure_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 密钥库的密码。
-
xpack.monitoring.exporters.$NAME.ssl.keystore.key_password
-
(静态) 密钥库中密钥的密码。默认值为密钥库密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.keystore.secure_key_password
代替。您不能同时使用此设置和
ssl.keystore.secure_password
。 -
xpack.monitoring.exporters.$NAME.ssl.keystore.secure_key_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 密钥库中密钥的密码。默认值为密钥库密码。
-
xpack.monitoring.exporters.$NAME.ssl.truststore.path
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 包含要信任的证书的密钥库的路径。它必须是 Java 密钥库 (jks) 或 PKCS#12 文件。
您不能同时使用此设置和
ssl.certificate_authorities
。 -
xpack.monitoring.exporters.$NAME.ssl.truststore.type
- (静态) [7.16.0] 在 7.16.0 中已弃用。 将此设置为
PKCS12
以指示信任库是 PKCS#12 文件。 -
xpack.monitoring.exporters.$NAME.ssl.truststore.password
-
(静态) [7.16.0] 在 7.16.0 中已弃用。 信任库的密码。 [7.17.0] 在 7.17.0 中已弃用。 建议使用
ssl.truststore.secure_password
代替。您不能同时使用此设置和
ssl.truststore.secure_password
。 -
xpack.monitoring.exporters.$NAME.ssl.truststore.secure_password
- (安全) [7.16.0] 在 7.16.0 中已弃用。 信任库的密码。