您可以使用processor_appender插件为指定的字段(可以为不存在的字段)追加特定的值,支持在字段值中添加模板变量。该插件通常与input_prometheus、input_system_v2等时序监控相关的插件结合使用,用于给拉取到的Prometheus数据追加特定的值。
Logtail 0.16.66及以上版本支持processor_appender插件。
参数说明
配置type为processor_appender,detail说明如下表所示。
表 1. 插件说明
参数 | 类型 | 是否必选 | 参数说明 |
Key | string | 是 | 字段名称。 |
Value | string | 是 | 添加的字段值。日志服务支持在该字段值中添加模板变量。更多信息,请参见模板变量。 |
SortLabels | boolean | 否 | 如果您要添加__labels__字段,即配置Key为__labels__,则需要设置SortLabels为true,用于对Labels进行重新排序,避免因为Labels不遵循字母序而导致查询异常。该值默认为false。 |
表 2. 模板变量
模板变量 | 说明 | 配置示例 | 结果示例 |
{{__ip__}} | 替换为Logtail所在服务器的IP地址。 | "Value": "{{__ip__}}" | "Value": "192.0.2.1" |
{{__host__}} | 替换为Logtail所在服务器的主机名。 | "Value": "{{__host__}}" | "Value": "logtail-ds-xdfaf" |
{{$xxxx}} | 通过环境变量引用,需以美元符号($)开头。替换为环境变量的取值。 | "Value": "{{$WORKING_GROUP}}" | "Value": "prod" |
示例
例如Logtail所在服务器的IP地址为192.0.2.1,主机名为david,存在环境变量WORKING_GROUP的值为prod。如果您需要为__labels__字段添加以上数据,可参见如下配置:
原始数据
"__labels__":"a#$#b"
Logtail插件处理配置
{ "processors":[ { "type":"processor_appender", "detail": { "Key": "__labels__", "Value": "|host#$#{{__host__}}|ip#$#{{__ip__}}|group#$#{{$WORKING_GROUP}}", "SortLabels": true } } ] }
处理结果
"__labels__":"a#$#b|group#$#prod|host#$#david|ip#$#192.0.2.1"