我用http 9200打开了几个客户端节点,以切断ElasticSearch查询/索引。我想通过http 9200从客户端记录访问日志,就像Http- Apache拥有access.log一样。我应该如何在ES中启用它。
Elasticsearch本身没有这样的东西。
但是,如果安装Shield插件,则可以通过将其添加到elasticsearch.yml配置文件中来启用审核。
elasticsearch.yml
shield.audit.enabled: true
然后,您将elasticsearch-access.log在ES日志文件夹中获得一个名为的新文件。
elasticsearch-access.log
@lucabelluccini的更新:将审核日志屏蔽到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源。
将此添加程序与屏蔽审计主题相关联。