Elasticsearch 中的监控设置

编辑

在 7.16 中已弃用。

使用 Elasticsearch 监控插件来收集和传输监控数据已弃用。建议使用 Elastic Agent 和 Metricbeat 来收集监控数据并将其传输到监控集群。如果您之前配置了传统的收集方法,则应迁移到使用Elastic AgentMetricbeat收集方法。

默认情况下,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 logo cloud

[6.3.0] 在 6.3.0 中已弃用。请改用设置为 falsexpack.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.history.duration logo cloud

(动态) [7.16.0] 在 7.16.0 中已弃用。 超过此保留期限后,监控导出器创建的索引将自动删除,以时间单位表示。默认为 7d(7 天)。

此设置的最小值为 1d(1 天),以确保正在监控某些内容,并且无法禁用此设置。

此设置当前仅影响 local 类型的导出器。使用 http 导出器创建的索引不会自动删除。

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 支持多种格式,既可以是数组,也可以是单个值。支持的格式包括 hostnamehostname:porthttp://hostnamehttp://hostname:porthttps://hostnamehttps://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-TypeContent-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 版本中已弃用。 支持的协议和版本。有效协议: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.monitoring.exporters.$NAME.ssl.verification_mode

(静态) [7.16.0] 在 7.16.0 版本中已弃用。 控制证书的验证。

有效值
full
验证提供的证书:具有在 not_beforenot_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_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 加密架构文档

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 中已弃用。 密钥库文件的格式。它必须是 jksPKCS12。如果密钥库路径以 ".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 中已弃用。 信任库的密码。