Logging FluentD:record_transformer条件语句
如何将条件if-else语句放入fluentdLogging FluentD:record_transformer条件语句,logging,fluent,fluentd,Logging,Fluent,Fluentd,如何将条件if-else语句放入fluentdrecord\u transformer,并将输出添加到列中 例如: @型记录变压器 启用\u ruby true 自动类型转换为真 NormalizedFileInByte${a=1024;如果记录[DataMetricIn]=“GB”;记录[“FileInByte]”。到\u f*a.to\u f;否则;记录[“FileInByte]”。到\u f;结束;} 在上面的示例中,我添加了一条if-else语句,并在现有日志中添加了一个新列Norm
record\u transformer
,并将输出添加到列中
例如:
@型记录变压器
启用\u ruby true
自动类型转换为真
NormalizedFileInByte${a=1024;如果记录[DataMetricIn]=“GB”;记录[“FileInByte]”。到\u f*a.to\u f;否则;记录[“FileInByte]”。到\u f;结束;}
在上面的示例中,我添加了一条if-else语句,并在现有日志中添加了一个新列NormalizedFileInByte
。但它是错误的。这对我来说很有效:
NormalizedFileInByte ${if record["message"].split(" ")[2].split(",")[0] == "PM"; record["message"].split(" ")[2].split(",")[0] ;end;
这对我很有用:
NormalizedFileInByte ${if record["message"].split(" ")[2].split(",")[0] == "PM"; record["message"].split(" ")[2].split(",")[0] ;end;
我还尝试了一种不同的语法,结果NormalizedFileInByte被创建,但总是有一个值为零。更改的语法:NormalizedFileInByte${a=“1024”;如果$DataMetricIn==“GB”,则为$FileInByte.to\f*a.to\f else$FileInByte.to\f end}我还尝试了不同的语法,结果是创建了NormalizedFileInByte,但始终具有零值。更改的语法:NormalizedFileInByte${a=“1024”;如果$DataMetricIn==“GB”,则$FileInByte.to\u f*a.to\u f else$FileInByte.to\u f end}