【Elasticsearch7.0】之监控配置

  |   0 评论   |   74 浏览

es在默认情况下,监控是开启的,但是数据采集是关闭的。如果要开启数据采集使用xpack.monitoring.collection.enabled。可以在elasticsearch.yml文件里面配置监控的相关属性。

一般监控配置

xpack.monitoring.enabled
设置为true表示开启X-Pack来监控es节点。注意:如果要开启数据采集需要把xpack.monitoring.collection.enabled设置为true,默认是false。

监控采集配置

xpack.monitoring.collection开头的设置,表示是否在节点中配置采集相关的一些配置。
xpack.monitoring.collection.enabled
6.3.0之后才有这个配置,设置为true,表示开启数据采集。设置为false,表示不收集Elasticsearch监视数据,忽略来自其他数据源(如Kibana、Beats和Logstash)的所有监视数据。

xpack.monitoring.collection.interval
从7.0.0开始如果设置为-1表示不再收集数据。默认是10s,如果在es中修改了该值,那么需要把kibana.yml里的xpack.monitoring.min_interval_seconds也设置为相同的值。

xpack.monitoring.elasticsearch.collection.enabled
控制是否应该收集关于Elasticsearch集群的统计信息。默认是true,他跟xpack.monitoring.collection.enabled是不一样的,xpack.monitoring.collection.enabled表示禁用或者启用所有监控收集,该设置只是禁用es的数据采集,但是其他的数据(像 Kibana, Logstash, Beats或者APM服务监控数据)可以通过该集群。

xpack.monitoring.collection.cluster.stats.timeout
收集集群统计信息的超时时间,默认是10s。

xpack.monitoring.collection.node.stats.timeout
收集节点统计信息的超时时间,默认是10s。

xpack.monitoring.collection.indices
对哪些索引进行监控和收集数据,默认是对所有的索引,以逗号分隔来指定多个索引,如test1,test2,test3。也可以使用通配符,如test*,可以用-来排查具体某个索引,如test*,-test2,像一些系统索引如.security或者.kibana,应用总数被监控,他们都是以.开头,所以可以指定如.,test

xpack.monitoring.collection.index.stats.timeout
收集索引统计信息的超时时间,默认是10s。

xpack.monitoring.collection.index.recovery.active_only
控制是否收集所有回收,设置为true只收集活动回收,默认值为false。

xpack.monitoring.collection.index.recovery.timeout
收集恢复信息的超时时间,默认为10s。

xpack.monitoring.history.duration
保留期限,超过此期限,监视导出程序创建的索引将自动删除,默认是7天,最小值为1天。注意:这个设置目前只影响本地类型的导出器,使用http导出器创建的索引不会自动删除。

xpack.monitoring.exporters
配置代理存储监视数据的位置,默认情况下,代理使用本地导出器对安装它的集群上的监视数据进行索引。使用HTTP导出器将数据发送到单独的监视集群。

本地导出器设置

本地导出器是默认的导出器,顾名思义,他导出本地的集群数据,意味着不需要过多的配置,如果没有配置导出器,那么es会默认创建一个,如果配置了,那么不会默认添加。

xpack.monitoring.exporters.my_local:
type: local

type
如果是本地导出器,那么type必须都是local。
use_ingest
是否为集群提供占位符管道以及为每个批量请求提供管道处理器,默认值是true,如果禁用,则意味着它将不使用管道,这意味着将来的发行版无法自动升级批量请求,使其不受将来的影响。
cluster_alerts.management.enabled
是否为该集群创建集群警报,默认值为true,要使用此功能,必须启用监视程序,如果拥有基本许可证,则不会显示集群警报。

http导出器配置

接下来让我们来看看http导出器的一些配置:

xpack.monitoring.exporters.my_remote:
  type: http
  host: ["host:port", ...]

type
如果http导出器,那么值一直都是http。
host
支持多种格式,既可以是数组也可以是一个值,支持的格式如:hostnamehostname:porthttp://hostname http://hostname:porthttps://hostnamehttps://hostname:port。如果没有明确指定的话,默认都是以http开头,默认端口号为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
如果配置了auth.password,那么该配置必须要设置。

auth.password
属性auth.username对应的密码

connection.timeout
HTTP连接等待套接字为请求打开的超时时间,默认值是6s。

connection.read_timeout
HTTP连接等待套接字返回响应的超时时间。默认值是10 * connection.timeout。

ssl
每个http导出器都可以设置自己的 TLS / SSL配置或者是继承他们。

proxy.base_path
发出http请求的前缀,如/base/path,bulk请求的前缀如:/base/path/_bulk,他没有默认值。

headers
配置了之后每个请求头都会带上配置里面的内容。

xpack.monitoring.exporters.my_remote:
  headers:
    X-My-Array: [abc, def, xyz]
    X-My-Header: abc123

基于数组的头被发送n次,其中n是数组的大小,无法设置内容类型和内容长度,监视代理创建的任何头都将覆盖此处定义的任何内容。

index.name.time_format
默认情况下,更改每日监视索引的默认日期后缀的机制。默认值是YYYY.MM.DD,这就是每天创建索引的原因。

use_ingest
是否为集群提供占位符管道以及为每个批量请求提供管道处理器,默认值是true,如果禁用,则意味着它将不使用管道,这意味着将来的发行版无法自动升级批量请求,使其不受将来的影响。

cluster_alerts.management.enabled
是否为该集群创建集群警报,默认值为true,要使用此功能,必须启用监视程序,如果拥有基本许可证,则不会显示集群警报。

cluster_alerts.management.blacklist
阻止创建特定的集群警报,会删除集群下任何可用的监控。可以把下面任何监控添加到黑名单:

  • 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
支持的协议版本,可以配置的协议:SSLv2HelloSSLv3TLSv1TLSv1.1TLSv1.2TLSv1.3。如果JVM支持TLSv1.3,则默认为TLSv1.3、TLSv1.2、TLSv1.1,否则为TLSv1.2、TLSv1.1。

xpack.monitoring.exporters.$NAME.ssl.verification_mode
控制证书的验证。可以配置的值为:nonecertificatefull,默认是full。

xpack.monitoring.exporters.$NAME.ssl.cipher_suites
支持的密码套件可以在Oracle的Java Cryptography Architecture文档中找到,默认为’ ’。

X-Pack监控TLS/SSL私钥和信任证书配置

以下设置用于指定在SSL/TLS连接上通信时应该使用的私钥、证书和可信证书。私钥和证书是可选的,如果服务器需要客户端身份验证来进行PKI身份验证,则使用私钥和证书。如果没有指定下面的设置,则使用默认的TLS/SSL设置。

PEM编码文件

xpack.monitoring.exporters.$NAME.ssl.key
包含私钥的PEM编码文件的路径。

xpack.monitoring.exporters.$NAME.ssl.key_passphrase
用于解密私钥的口令,这个值是可选的,因为密钥可能没有加密。

xpack.monitoring.exporters.$NAME.ssl.secure_key_passphrase
用于解密私钥的口令,这个值是可选的,因为密钥可能没有加密。

xpack.monitoring.exporters.$NAME.ssl.certificate
指向PEM编码文件的路径,该文件包含将在请求时显示的证书(或证书链)。

xpack.monitoring.exporters.$NAME.ssl.certificate_authorities
应受信任的PEM编码证书文件的路径列表。

java密钥库文件

当使用包含私钥、证书和受信任的证书的java密钥库文件时,可以使用以下配置:

xpack.monitoring.exporters.$NAME.ssl.keystore.path
保存私钥和证书的密钥存储库的路径。

xpack.monitoring.exporters.$NAME.ssl.keystore.password
密钥库的密码。

xpack.monitoring.exporters.$NAME.ssl.keystore.secure_password
密钥库的密码。

xpack.monitoring.exporters.$NAME.ssl.keystore.key_password
密钥存储库中私钥的密码,默认值与xpack.monitoring.exporters.$NAME.ssl.keystore.password相同。

xpack.monitoring.exporters.$NAME.ssl.keystore.secure_key_password
密钥存储库中私钥的密码。

xpack.monitoring.exporters.$NAME.ssl.truststore.path
信任存储文件的路径。

xpack.monitoring.exporters.$NAME.ssl.truststore.password
信任存储区的密码。

xpack.monitoring.exporters.$NAME.ssl.truststore.secure_password
信任存储区的密码。

PKCS#12 文件

Elasticsearch可以配置为使用PKCS#12容器文件(如.p12或者.pfx 文件)包含私钥、证书和受信任的证书。
PKCS#12文件的配置方式与Java Keystore文件相同:
xpack.monitoring.exporters.$NAME.ssl.keystore.path
包含私钥和证书的PKCS#12文件的路径。

xpack.monitoring.exporters.$NAME.ssl.keystore.type
设置为PKCS12,表示密钥库是PKCS#12文件。

xpack.monitoring.exporters.$NAME.ssl.keystore.password
PKCS#12文件的密码。

xpack.monitoring.exporters.$NAME.ssl.keystore.secure_password
PKCS#12文件的密码。

xpack.monitoring.exporters.$NAME.ssl.keystore.key_password
存储在PKCS#12文件中的私钥的密码,默认值与xpack.monitoring.exporters.$NAME.ssl.keystore.password相同。

xpack.monitoring.exporters.$NAME.ssl.keystore.secure_key_password
存储在PKCS#12文件中的私钥的密码。

xpack.monitoring.exporters.$NAME.ssl.truststore.path
包含要信任的证书的PKCS#12文件的路径。

xpack.monitoring.exporters.$NAME.ssl.truststore.type
设置为PKCS12,表示受信任的PKCS#12文件。

xpack.monitoring.exporters.$NAME.ssl.truststore.password
PKCS#12文件的密码。

xpack.monitoring.exporters.$NAME.ssl.truststore.secure_password
PKCS#12文件的密码。

PKCS#11令牌

可以将Elasticsearch配置为使用PKCS#11令牌,该令牌包含私钥、证书和受信任的证书。
PKCS#11令牌需要JVM级别的额外配置,可以通过以下设置启用:

xpack.monitoring.exporters.$NAME.keystore.type
设置为PKCS11,表示PKCS#11令牌应该被使用。

xpack.monitoring.exporters.$NAME.truststore.type
设置为PKCS11,表示PKCS#11令牌应该被受信任文件使用。

也可以关注我的公众号:程序之声
图片
关注公众号,领取更多资源

本文为博主原创文章,未经博主允许不得转载。

评论

发表评论