配置集中式管道管理

编辑

配置集中式管道管理

编辑

要配置集中式管道管理

  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 安装在本地主机上,并启用了基本 AUTH,但没有 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。

管道 ID 中的通配符从 Elasticsearch 7.10 开始可用。如果新管道 ID 与通配符模式匹配,则 Logstash 可以获取新管道而无需重启。