如何启用 ElasticSearch http 访问日志

Jac*_*ack 4 elasticsearch

我用 http 9200 打开了几个客户端节点来切断 ElasticSearch 查询/索引。我想通过 http 9200 记录来自客户端的访问日志,就像 Http-Apache 有 access.log 一样。我应该如何在 ES 中启用它。

Val*_*Val 5

Elasticsearch 本身没有这样的东西。

但是,如果您安装了Shield 插件,则可以通过将其添加到elasticsearch.yml配置文件来启用审核

shield.audit.enabled: true
Run Code Online (Sandbox Code Playgroud)

然后,您将elasticsearch-access.log在 ES 日志文件夹中获得一个名为的新文件。

@lucabelluccini 更新:将审计日志屏蔽到系统日志

如果您有兴趣将此类审计日志转发到 syslog,您可以感谢 log4j SyslogAppender 类,它允许通过本地套接字将日志转发到 syslog。

编辑您的 logging.yml (自定义格式等...)

appender:
  syslog:
    type: org.apache.log4j.net.SyslogAppender
    syslogHost: localhost
    facility: local0
    layout:
      type: org.apache.log4j.PatternLayout
      conversionPattern: "%d{ISO8601} %t %p %c %M %m %n"
Run Code Online (Sandbox Code Playgroud)

确保 rsyslog 配置允许 UDP 源。

将此附加程序与屏蔽审计主题相关联。