LoongCollector

1758
下载
LoongCollector 源自阿里云可观测性团队所开源的 iLogtail 项目,在继承了 iLogtail 强大的日志采集与处理能力的基础上,进行了全面的功能升级与扩展。从原来单一日志场景,逐步扩展为可观测数据采集、本地计算、服务发现的统一体。 LoongCollector 是一款集卓越性能、超强稳定性和灵活可编程性于一身的数据采集器,专为构建下一代可观测 Pipeline 设计。愿景是:打造业界领先的“统一可观测 Agent(Unified Observability Agent)”与“端到端可观

Go时间格式解析


版本

Stable

配置参数

参数类型是否必选说明
SourceKeyString原始字段名。
SourceFormatString原始时间的格式。
SourceLocationInt原始时间的时区。参数值为空时,表示iLogtail所在主机或容器的时区。
DestKeyString解析后的目标字段。
DestFormatString解析后的时间格式。
DestLocationInt解析后的时区。参数值为空时,表示本机时区。
SetTimeBoolean是否将解析后的时间设置为日志时间。true(默认值):是。false:否。
KeepSourceBoolean被解析后的日志中是否保留原始字段。true(默认值):保留。false:不保留。
NoKeyErrorBoolean原始日志中无您所指定的原始字段时,系统是否报错。true(默认值):报错。false:不报错。
AlarmIfFailBoolean提取日志时间失败,系统是否报错。true(默认值):报错。false:不报错。

注意 SourceFormat 和 DestFormat 的格式需要符合 Go 时间中的 layout。Go 中采用基于规则的方法对时间格式进行解析,例如,时间格式中 “1” 的时间单位为月份,“15” 的时间单位为小时。因此,为了避免解析失败,推荐选择 Go 中的时间原点 “2006-01-02 15:04:05” 作为 SourceFormat 和 DestFormat 的样例时间。
或者采用以下的标准时间格式:

const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
DateTime = "2006-01-02 15:04:05"
DateOnly = "2006-01-02"
TimeOnly = "15:04:05"
)

样例

采集/home/test-log/目录下的simple.log文件,根据指定的配置选项提取日志信息。

enable: true
inputs:
- Type: input_file
FilePaths:
- /home/test-log/*.log
processors:
- Type: processor_gotime
SourceKey: "content"
SourceFormat: "2006-01-02 15:04:05"
SourceLocation: 8
DestKey: "d_key"
DestFormat: "2006/01/02 15:04:05"
DestLocation: 9
flushers:
- Type: flusher_stdout
OnlyStdout: true
  • 输入
Terminal window
echo "2006-01-02 15:04:05" >> simple.log
  • 输出
{
"content":"2006-01-02 15:04:05",
"d_key":"2006/01/02 16:04:05"
}

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32