在 elasticsearch 中使用哨兵日志记录

Using sentry logging with elasticsearch

我尝试将所有日志存储在哨兵实例中。根据 this thread,我尝试了以下操作:

向 loggin.yml 添加了哨兵附加程序:

es.logger.level: INFO
rootLogger: ${es.logger.level}, console, sentry
...
appender:
  console:
    type: console
    layout:
      type: consolePattern
      conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"

  sentry: 
    type: net.kencochrane.raven.log4j.SentryAppender 
    dsn: "http://...@..."

并将raven-5.0.jarraven-log4j-5.0.jarraven-logback-5.0.jar复制到es/lib文件夹。启动期间没有错误,但哨兵没有记录,即使在控制台有警告消息。 ES的版本是2.1.0.

我是不是漏掉了什么?

这里是有效的解决方案(对于 ES 2.4.4):

  1. 将以下库添加到 ES 的 lib 文件夹中:raven-7.8.2.jarraven-log4j-7.8.2.jarslf4j-api-1.7.24.jarslf4j-log4j12-1.7.24.jar
  2. 更新config/logging.yml

    rootLogger: ${es.logger.level}, console, file, sentry
    
    /* other appenders */
    
    sentry:
       type: com.getsentry.raven.log4j.SentryAppender 
       dsn: <DSN_HERE> 
       threshold: INFO
    
  3. 重启ES实例