如何启用ElasticSearch的http访问日志记录

6

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

1个回答

6

在Elasticsearch本身中没有这样的功能。

但是,如果您安装了Shield插件,您可以通过将以下内容添加到您的elasticsearch.yml配置文件中来启用审计

shield.audit.enabled: true

然后你会在ES日志文件夹中得到一个名为elasticsearch-access.log的新文件。

@lucabelluccini的更新:将Shield审计日志转发到syslog

如果您有兴趣将这些审计日志转发到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"

确保 rsyslog 配置允许 UDP 源。

将此 appender 关联到 shield 审计主题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接