Syslog-ng,使用 https 的基本身份验证将日志发送到 elasticsearch

Syslog-ng,使用 https 的基本身份验证将日志发送到 elasticsearch

目前,我在 Ubuntu 22.04.1 LTS 上运行 syslog-ng 3 (3.35.1)。目标是使用 https 安全协议发送数据并使用基本身份验证。Syslog-ng 正在使用 elasticsearch-http 模块将日志正确发送到 Elasticsearch API,如下所示:

destination elk_http {
  elasticsearch-http(
    index("testing_index")
    type("")
    url("http://a.b.c.d:port/_bulk")
    workers(4)
);
};

现在我必须将目标地址从 http 更改为 https,据我所知不会有问题,但我该如何配置基本身份验证?我试图在 Google 上寻找解决方案,但我只找到了带有 elasticsearch2 模块 (@module mod-java) 的示例。问题是我无法以任何方式安装 elasticsearch2 模块 (apt-get install syslog-ng-mod-elasticsearch、apt-get install syslog-ng-mod-java 等等)。有没有办法使用“elasticsearch-http”模块启用基本身份验证,如果没有,我是否必须使用源安装 syslog-ng,然后启用 mod-java,或者也许有简单的方法来安装 mod-java?

如果您有任何想法,请告诉我。

问候

答案1

您可以使用 elasticsearch-http() 目标,只需设置user()password()选项。如果您想验证服务器的证书,您还需要设置一些选项(请参阅这里的例子),或者peer-verify(no)如果您只想测试不带证书验证的 https,则只需使用。

答案2

我已经弄清楚了,对于那些需要线索的人来说,配置如下所示:

destination elk_http {
  elasticsearch-http(
    index("testing_index")
    type("")
    user("login")
    password("password")
    url("https://a.b.c.d")
    workers(4)
    tls(peer-verify(no))
);
};

相关内容