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 的磁盘空间。还有许多其他的附加器,因此请查看最适合您的需求。