Telegraf 配置 [agent] 之日志

88 阅读2分钟

Telegraf 是运行在服务器中的一个探针程序,它可以从数据库、系统和 IoT 传感器收集并发送指标和事件。 它是由 Go 语言编写,编译成单个二进制文件,没有外部依赖项,运行时仅需要非常少的内存。

先来干货,下面是如何配置 Telegraf 的日志输出。如果不进行任何配置的话日志仅能在启动 Telegraf 的命令窗口中查看。如果是以 Windows 服务方式启动,那么就只能去 Windows 的事件查看器查看,相当的不方便。

不过可通过对 agent 进行配置,把日志以文件方式输出日志到指定位置,下面看这个详细的配置说明吧:

[agent] 

  ## 记录为调试级别。
  # debug = false
  ## 仅记录错误级别消息。
  # quiet = false
  
  ## 记录目标控制日志的目的地,可以是 "file"、"stderr" 或在 Windows 上是 "eventlog"。当设置为 "file" 时,输出文件由 "logfile" 设置确定。
  logtarget = "file"
  
  ## 当使用 "file" 记录目标时,要记录到的文件的名称。如果设置为空字符串,则日志将写入 stderr。
  ## 如果是使用 Windows 服务的方式运行 Telegraf,那么建议使用绝对路径。
  logfile = "./telegraf.log"
  
  ## 当指定的时间间隔后,日志文件将被轮转。当设置为 0 时,不执行基于时间的轮转。日志只在写入时轮转,如果没有日志活动,轮转可能会延迟。
  # logfile_rotation_interval = "0d"
  
  ## 当日志文件大小超过指定大小时,日志文件将被轮转。当设置为 0 时,不执行基于大小的轮转。
  # logfile_rotation_max_size = "0MB"
  
  ## 保留的轮转归档的最大数量,任何旧的日志都将被删除。如果设置为 -1,则不删除归档。
  # logfile_rotation_max_archives = 5
  
  ## 选择在记录时使用的时区,或输入 'local' 以使用本地时间。示例:America/Chicago
  log_with_timezone = "local"
  

为什么以 Windows 服务方式运行的时候建议使用绝对路径呢。因为,使用相对路径,这个路径应该对应的是启动服务的那个程序,这可能是在 Windows 的某个路径下吧。之前研究过的,现在忘了,回头再看下补充回来。