CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/LoongCollector/字段值映射处理
文档目录
概览版本管理
什么是处理插件
添加字段追加字段添加云资产信息原始数据数据脱敏字段值映射处理丢弃字段字段加密条件字段处理日志过滤时间提取(Go 时间格式)GrokJson日志转SLS Metricotel Metric格式转换otel Trace格式转换字段打包日志限速正则重命名字段分隔符键值对多行切分字符串替换时间提取(strptime 格式)

LoongCollector

字段值映射处理

processordictmap插件可对指定字段的值查表映射 Stable 推荐版本:iLogtail v1.0.27 及以上 | 参数 | 类型 | 是否必选 | 参数说明 ...

字段值映射处理

简介

processor_dict_map插件可对指定字段的值查表映射

版本

Stable

版本说明

  • 推荐版本:iLogtail v1.0.27 及以上

配置参数

参数 类型 是否必选 参数说明
Type string 是 插件类型,固定为processor_dict_map。
DictFilePath string 否 本地的 csv 字典文件,该 csv 文件分隔符为,,字段引用标志为"。映射规则为表格第一列为原数据,表格第二列为目标数据。默认为空。
MapDict Map 否 映射字典,规则为将键映射到值。若映射字典较小,可直接在设置中的填写,不必提供本地文件,默认为空。当DictFilePath非空,忽略设置中的该字段,只使用DictFilePath数据。
SourceKey string 是 原数据在日志中的字段名。若有多个同名输入,默认只处理第一个。
DestKey string 否 映射后数据在日志中的字段名,默认为和 SourceKey 一致。
HandleMissing bool 否 是否处理日志中缺失目标字段的情况,默认为false不处理。
Missing string 否 处理日志中缺失目标字段的情况时的填充值,默认为"Unknown"。
Mode string 否 当映射后字段于原日志中存在时的处理方法,默认为"overwrite"即覆写原字段,若设置为"fill"则不再覆写目标字段。
MaxDictSize int 否 映射字典的最大大小,默认1000,即最大存储 1000 条映射规则。若希望限制插件对内存的占用,可以将本设置调小。

样例

采集配置

processors:
  - Type: processor_dict_map
    SourceKey: "_ip_"
    DestKey: "_processed_ip_"
    DictFilePath: "/home/ipExample.csv"
    MapDict: 
      "1": TCP
      "2": UDP
      "3": HTTP
      "*": "Unknown"
    Mode: overwrite
    HandleMissing: true
    Missing: "Not Detected"

注意到这里同时设置了两种映射规则来源:本地文件ipExample.csv和配置文件{"1":"TCP","2":"UDP","3":"HTTP","*":"Unknown"}。当两者同时设置时,默认使用配置文件,即ipExample.csv,同时忽略配置文件的内容。

此配置将检查日志中_ip_字段的值是否存在。若不存在,由于设置:"HandleMissing": true,,故会处理这种缺失,将在日志中增加"_processed_ip_"字段并填充缺失值为"Not Detected"。若存在,同样将在日志中增加"_processed_ip_"字段,将查映射字典ipExample.csv得到的值填入该字段内。若查表无,则不处理,日志不发生改变。

映射表文件示例

映射表必须为 UFT-8 格式输入,每行两列,,将第一列的内容映射到第二列。

如ipExample.csv内容为:

"127.0.0.1","LocalHost-LocalHost"
"192.168.0.1","default login"

配置 LoongCollector 时,请将映射表文件(如上文的 ipExample.csv)放在用户自有目录下(例如 /home/ipExample.csv),而不要放在 Agent 安装/配置目录中:部分历史布局下该目录名仍为 ilogtail,升级或重装时可能被清空。阿里云帮助中心仍以「Logtail」描述控制台侧能力,可参考使用 Logtail 插件处理数据中的路径约定。

处理日志示例

当使用如上设置,连续对日志进行映射,处理结果如下:

  • 连续日志输入
{
    "_ip_": "192.168.0.1",
    "Index": "900000003",
    "__time__": "1627004587"
}

{
    "_ip_": "255.255.255.255",
    "Index": "3",
    "__time__": "1627004587"
}

{
    "_ip_": "192.168.0.1",
    "Index": "900000004",
    "__time__": "1627004588"
}

{
    "_ip_": "255.255.255.255",
    "Index": "4",
    "__time__": "1627004588"
}

{
    "_ip_": "127.0.0.1",
    "Index": "100000004",
    "__time__": "1627004588"
}

{
    "_ip_": "127.0.0.1",
    "Index": "100000005",
    "__time__": "1627004589"
}

{
    "Index": "100000006",
    "__time__": "1627004589"
}

配置后结果

{
    "_ip_": "192.168.0.1",
    "Index": "900000003",
    "_processed_ip_": "default login",
    "__time__": "1627004587"
}

{
    "_ip_": "255.255.255.255",
    "Index": "3",
    "__time__": "1627004587"
}

{
    "_ip_": "192.168.0.1",
    "Index": "900000004",
    "_processed_ip_": "default login",
    "__time__": "1627004588"
}

{
    "_ip_": "255.255.255.255",
    "Index": "4",
    "__time__": "1627004588"
}

{
    "_ip_": "127.0.0.1",
    "Index": "100000004",
    "_processed_ip_": "LocalHost-LocalHost",
    "__time__": "1627004588"
}

{
    "_ip_": "127.0.0.1",
    "Index": "100000005",
    "_processed_ip_": "LocalHost-LocalHost",
    "__time__": "1627004589"
}

{
    "Index": "100000006",
    "_processed_ip_": "Not Detected",
    "__time__": "1627004589"
}

文章大纲