配置集中式管道管理

编辑

配置集中式管道管理编辑

配置 集中式管道管理

  1. 验证您使用的许可证是否包含管道管理功能。

    有关更多信息,请参阅 https://elastic.ac.cn/subscriptions许可证管理

  2. logstash.yml 文件中指定 配置管理设置。至少设置

    • xpack.management.enabled: true 以启用集中式配置管理。
    • xpack.management.elasticsearch.hosts 以指定将存储 Logstash 管道配置和元数据的 Elasticsearch 实例。
    • xpack.management.pipeline.id 以注册您要集中管理的管道。
  3. 重启 Logstash。
  4. 如果您的 Elasticsearch 集群使用基本身份验证进行保护,请将内置的 logstash_admin 角色以及 logstash_writer 角色分配给将使用集中式管道管理的任何用户。有关更多信息,请参阅 保护您的连接

在您配置并启用安全功能之前,集中管理将被禁用。

将 Logstash 配置为使用集中式管道管理后,您将无法再指定本地管道配置。这意味着启用此功能后,pipelines.yml 文件和 path.configconfig.string 等设置将失效。

Logstash 中的配置管理设置编辑

您可以在 logstash.yml 中设置以下 xpack.management 设置以启用 集中式管道管理。有关配置 Logstash 的更多信息,请参阅 logstash.yml

以下示例显示了基本设置,假设 Elasticsearch 和 Kibana 安装在启用了基本身份验证但未启用 SSL 的本地主机上。如果您正在使用 SSL,则需要指定其他 SSL 设置。

xpack.management.enabled: true
xpack.management.elasticsearch.hosts: "https://127.0.0.1:9200/"
xpack.management.elasticsearch.username: logstash_admin_user
xpack.management.elasticsearch.password: t0p.s3cr3t
xpack.management.logstash.poll_interval: 5s
xpack.management.pipeline.id: ["apache", "cloudwatch_logs"]
xpack.management.enabled
设置为 true 以为 Logstash 启用 X-Pack 集中式配置管理。
xpack.management.logstash.poll_interval
Logstash 实例从 Elasticsearch 轮询管道更改的频率。默认值为 5 秒。
xpack.management.pipeline.id
指定以逗号分隔的管道 ID 列表,以注册集中式管道管理。更改此设置后,您需要重新启动 Logstash 以使更改生效。管道 ID 支持 * 作为 通配符 来匹配多个 ID
xpack.management.elasticsearch.hosts
将存储 Logstash 管道配置和元数据的 Elasticsearch 实例。这可能是 Logstash 配置的 outputs 部分中指定的同一个 Elasticsearch 实例,也可能是不同的实例。默认为 https://127.0.0.1:9200
xpack.management.elasticsearch.usernamexpack.management.elasticsearch.password
如果您的 Elasticsearch 集群使用基本身份验证进行保护,则这些设置提供了 Logstash 实例用于身份验证以访问配置数据的用户名和密码。您在此处指定的用户名应具有内置的 logstash_admin 角色和自定义的 logstash_writer 角色,这些角色提供了对系统索引的访问权限以管理配置。从 Elasticsearch 版本 7.10.0 开始,logstash_admin 角色继承了用于集中式管道管理的 manage_logstash_pipelines 集群权限。如果用户创建了自己的角色并授予他们对 .logstash 索引的访问权限,则这些角色将继续在 7.x 中工作,但需要针对 8.0 进行更新。
xpack.management.elasticsearch.proxy
可选设置,允许您指定代理 URL(如果 Logstash 需要使用代理才能访问您的 Elasticsearch 集群)。
xpack.management.elasticsearch.ssl.ca_trusted_fingerprint
可选设置,使您能够指定 Elasticsearch 实例的证书颁发机构的十六进制编码 SHA-256 指纹。

自保护的 Elasticsearch 集群将在设置过程中向控制台提供其 CA 的指纹。

您还可以使用 Elasticsearch 主机上的 openssl 命令行实用程序获取 Elasticsearch CA 的 SHA256 指纹

openssl x509 -fingerprint -sha256 -in $ES_HOME/config/certs/http_ca.crt
xpack.management.elasticsearch.ssl.certificate_authority
可选设置,使您能够指定 Elasticsearch 实例的证书颁发机构的 .pem 文件的路径。
xpack.management.elasticsearch.ssl.truststore.path
可选设置,提供用于验证服务器证书的 Java 密钥库 (JKS) 的路径。

您不能同时使用此设置和 xpack.management.elasticsearch.ssl.certificate_authority

xpack.management.elasticsearch.ssl.truststore.password
可选设置,提供信任库的密码。
xpack.management.elasticsearch.ssl.keystore.path
可选设置,提供用于验证客户端证书的 Java 密钥库 (JKS) 的路径。

您不能同时使用此设置和 xpack.management.elasticsearch.ssl.keystore.certificate

xpack.management.elasticsearch.ssl.keystore.password
可选设置,提供密钥库的密码。
xpack.management.elasticsearch.ssl.certificate
可选设置,提供用于验证客户端的 SSL 证书的路径。此证书应为 OpenSSL 风格的 X.509 证书文件。

仅当设置了 xpack.management.elasticsearch.ssl.key 时,才能使用此设置。

xpack.management.elasticsearch.ssl.key
可选设置,提供与 xpack.management.elasticsearch.ssl.certificate 对应的 OpenSSL 风格的 RSA 私钥的路径。

仅当设置了 xpack.management.elasticsearch.ssl.certificate 时,才能使用此设置。

xpack.management.elasticsearch.ssl.verification_mode
用于验证服务器证书的选项。默认为 full。要禁用,请设置为 none。禁用此功能会严重损害安全性。
xpack.management.elasticsearch.ssl.cipher_suites
可选设置,提供要使用的密码套件列表,按优先级列出。支持的密码套件因 Java 和协议版本而异。
xpack.management.elasticsearch.cloud_id
如果您在 Elastic Cloud 中使用 Elasticsearch,则应在此处指定标识符。此设置是 xpack.management.elasticsearch.hosts 的替代方法。如果配置了 cloud_id,则不应使用 xpack.management.elasticsearch.hosts。此 Elasticsearch 实例将存储 Logstash 管道配置和元数据。
xpack.management.elasticsearch.cloud_auth
如果您在 Elastic Cloud 中使用 Elasticsearch,则可以在此处设置您的身份验证凭据。此设置是 xpack.management.elasticsearch.usernamexpack.management.elasticsearch.password 的替代方法。如果配置了 cloud_auth,则不应使用这些设置。您在此处指定的凭据应适用于具有 logstash_admin 角色的用户,该角色提供了对系统索引的访问权限以管理配置。
xpack.management.elasticsearch.api_key
使用 Elasticsearch API 密钥进行身份验证。请注意,此选项还需要使用 SSL。API 密钥格式为 id:api_key,其中 idapi_key 由 Elasticsearch 创建 API 密钥 API 返回。

管道 ID 中的通配符支持编辑

管道 ID 必须以字母或下划线开头,并且只能包含字母、下划线、破折号和数字。您可以在 xpack.management.pipeline.id 中使用 * 来匹配任意数量的字母、下划线、破折号和数字。

xpack.management.pipeline.id: ["*logs", "*apache*", "tomcat_log"]

在此示例中,"*logs" 匹配以 logs 结尾的所有 ID。"*apache*" 匹配名称中包含 apache 的任何 ID。

从 Elasticsearch 7.10 开始,管道 ID 中支持通配符。如果新管道 ID 与通配符模式匹配,则 Logstash 可以在不重新启动的情况下获取新管道。