Logging

OpenTSDB 使用SLF4J抽象层和Logback来提高日志记录的灵 Active。通过 XML 文件执行配置,并且有许多不同的格式,级别和目标选项。

Levels

每个日志消息都带有描述性的严重性级别。 OpenTSDB 使用的级别包括:

  • 错误 -某些原因失败,例如无效数据,连接失败或代码中的错误。您应该注意这些并找出导致错误的原因。请与用户组联系以寻求帮助。

  • 警告 -这些错误通常是由用户数据错误或其他错误(而非严重错误)引起的。如果您在使用 OpenTSDB 时未收到预期的结果,请查找警告。

  • INFO -信息性消息是预期或正常行为的通知。它们在故障排除期间可能很有用。大多数日志记录附加程序应设置为INFO

  • 调试 -如果您需要进一步的故障排除,则可以启用DEBUG日志记录,这将提供有关 OpenTSDB 在后台执行的操作的更多详细信息。启用此级别时要小心,因为它可以返回大量数据。

  • 关闭 -要删除某个类中的所有日志记录消息,只需将级别设置为OFF即可。

Configuration

名为logback.xml的文件包含在/src目录中,并被复制以进行分发。启动时,OpenTSDB 将在 Classpath 中搜索此文件,如果找到,则加载配置。 GIT 的默认配置将记录 INFO 级别的事件以进行控制台,并将 1,024 条最新消息存储在循环缓冲区中,以便从 GUI 进行访问。但是默认情况下,它不会记录到磁盘。默认情况下,从 GIT 构建的软件包已启用文件日志记录。从 2.2 版本开始,所有查询都可以记录到一个单独的文件中以进行解析和自动化。默认情况下,此日志是禁用的,但可以通过设置适当的日志级别来启用。

Appenders

Appender 是发送日志信息的目的地。通常,日志记录配置会将结果发送到控制台和文件。您也可以选择将日志发送到 Syslog,电子邮件,套接字,数据库等。每个附加器部分都定义一个目标,格式和可选触发器。在Logback Manual中了解附加程序。

Loggers

Logger 确定将哪些数据和什么级别的数据路由到附加程序。Logger 可以匹配特定的 Java 类名称空间,并影响从该空间发出的所有消息。默认的 OpenTSDB 配置显式列出了 Zookeeper,AsyncHBase 和 Async 库的一些 Logger,以将其级别设置为INFO,以避免大多数情况下不相关的聊天输出。如果启用了插件并开始看到很多您不关心的消息,请添加 Logger 条目以禁止显示消息。

查询日志 要启用查询日志,请找到以下部分:

<logger name="QueryLog" level="OFF" additivity="false">
  <appender-ref ref="QUERY_LOG"/>
</logger>

并将level设置为INFO

日志文件 要启用主日志文件,请找到以下部分:

<!--<appender-ref ref="FILE"/>-->

并删除 Comments,使其显示为<appender-ref ref="FILE"/>

Root

根部分是全部 Logger,它确定与显式 Logger 不匹配的所有消息的默认日志记录级别。它还处理到不同附加程序的路由。

登录到旋转文件

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>/var/log/opentsdb/opentsdb.log</file>
  <append>true</append>

  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
    <fileNamePattern>/var/log/opentsdb/opentsdb.log.%i</fileNamePattern>
    <minIndex>1</minIndex>
    <maxIndex>3</maxIndex>
  </rollingPolicy>

  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    <maxFileSize>128MB</maxFileSize>
  </triggeringPolicy>

  <!-- encoders are assigned the type
       ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
  <encoder>
    <pattern>%d{HH:mm:ss.SSS} %-5level [%logger{0}.%M] - %msg%n</pattern>
  </encoder>
</appender>

该追加程序将写入名为/var/log/opentsdb/opentsdb.log的日志文件。当文件大小达到 128MB 时,它将把日志旋转到opentsdb.log.1并启动一个新的opentsdb.log文件。新日志填满后,会将.1撞到.2,将.log撞到.1并创建一个新日志。重复此操作,直到总共有四个日志文件。下一次日志填满时,将删除最后一个日志。这样,您可以保证仅使用多达 512MB 的磁盘空间。还有许多其他的附加器,因此请查看最适合您的需求。