配置集中式 Pipeline 管理

编辑

配置集中式 Pipeline 管理

编辑

要配置 集中式 Pipeline 管理

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

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

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

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

在您配置和启用安全功能之前,集中式管理处于禁用状态。

配置 Logstash 以使用集中式 Pipeline 管理后,您将无法再指定本地 Pipeline 配置。这意味着当启用此功能时,pipelines.yml 文件以及 path.configconfig.string 等设置将处于非活动状态。

Logstash 中的配置管理设置

编辑

您可以在 logstash.yml 中设置以下 xpack.management 设置以启用 集中式 Pipeline 管理。有关配置 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 轮询 Pipeline 更改的频率。默认为 5 秒。
xpack.management.pipeline.id
指定要注册以进行集中式 Pipeline 管理的 Pipeline ID 的逗号分隔列表。更改此设置后,您需要重新启动 Logstash 才能获取更改。Pipeline ID 支持 * 作为 通配符 以匹配多个 ID
xpack.management.elasticsearch.hosts
将存储 Logstash Pipeline 配置和元数据的 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 集群权限以进行集中式 Pipeline 管理。如果用户创建了自己的角色并授予其对 .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 Pipeline 配置和元数据。
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 返回的值相同。

Pipeline ID 中的通配符支持

编辑

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

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

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

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