返回

用 Logstash 连接到启用 HTTPS 的 Elasticsearch 集群

后端

Logstash:连接到带 HTTPS 的集群

Logstash 是一款强大的数据处理引擎,可用于从各种来源采集、转换和存储数据。其中一项关键功能是将数据写入 Elasticsearch 集群,而 Elasticsearch 集群支持使用 HTTPS 协议来保护数据。

在本指南中,我们将介绍如何使用 Logstash 连接到带有 HTTPS 的 Elasticsearch 集群。我们将逐步介绍必要的配置和设置,以确保安全可靠的数据传输。

先决条件

在开始之前,请确保已具备以下先决条件:

  • 已安装并运行 Logstash
  • 已运行 Elasticsearch 集群,并启用 HTTPS 访问
  • 具有访问 Elasticsearch 集群的凭据

步骤 1:配置 Logstash

首先,我们需要在 Logstash 配置文件中配置 Elasticsearch 输出。打开 logstash.conf 文件并添加以下配置:

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    ssl => true
    ssl_certificate => "/path/to/certificate.pem"
    ssl_key => "/path/to/key.pem"
    ssl_version => "TLSv1.2"
    user => "elastic"
    password => "changeme"
  }
}
  • hosts: Elasticsearch 集群的地址和端口。
  • ssl: 启用 SSL 加密。
  • ssl_certificate: 包含证书颁发机构 (CA) 证书的文件路径。
  • ssl_key: 包含私钥的文件路径。
  • ssl_version: 要使用的 SSL 版本。
  • user: Elasticsearch 集群的用户名。
  • password: Elasticsearch 集群的密码。

步骤 2:准备证书

要建立安全的 HTTPS 连接,需要准备以下证书:

  • CA 证书: 用于验证 Elasticsearch 集群证书的 CA 证书。
  • 私钥: 与 Elasticsearch 集群证书对应的私钥。

请确保已将证书和私钥保存到安全的位置,并将其路径更新为 logstash.conf 文件中的相应配置设置。

步骤 3:验证连接

在完成配置后,启动 Logstash 并尝试向 Elasticsearch 集群发送数据。如果连接成功,您将看到类似于以下内容的日志消息:

[2023-05-10 12:34:56,456][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool connected to [https://localhost:9200]

故障排除

如果在连接到 Elasticsearch 集群时遇到问题,请尝试以下故障排除步骤:

  • 确认证书和私钥的路径正确。
  • 验证 Elasticsearch 集群的地址和端口是否正确。
  • 检查 Elasticsearch 集群是否已启用 HTTPS 访问。
  • 确保 Logstash 用户具有访问 Elasticsearch 集群的适当权限。

结论

通过按照本指南中的步骤,您可以配置 Logstash 连接到带有 HTTPS 的 Elasticsearch 集群。这将确保安全可靠的数据传输,让您能够充分利用 Logstash 的数据处理功能。

祝愿您 Logstash 之旅顺利愉快!