Grafana对接Elastic Stack时如何修改日志列值提取纯IP地址?
Grafana提取
log.source.address字段IP地址操作方案 方法1:计算字段正则提取(推荐,适配任意端口长度)
- 进入对应面板的编辑页面,切换到**转换(Transform)**标签
- 点击「添加转换」,选择
Add field from calculation - 按如下参数配置:
- 模式选择
Regex - 源字段选中
log.source.address - 正则表达式填写
^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}):\d+$ - 别名可填
log.source.ip,也可直接填原字段名覆盖取值 - 可选操作:添加
Organize fields转换,隐藏原始的log.source.address列
- 模式选择
方法2:字段截断(仅适用所有端口固定为5位的场景)
- 同样添加
Add field from calculation转换 - 模式选择
String operations - 操作类型选
Substring - 源字段选中
log.source.address - 起始索引填
0,长度填写length(log.source.address) - 6 - 后续可配合
Organize fields转换调整列的显示
可选优化:Elasticsearch查询阶段预处理
如果希望减少面板侧转换的性能开销,可直接在Elasticsearch查询时添加脚本字段提前生成纯IP字段:
{ "script": { "source": "doc['log.source.address'].value.split(':')[0]", "lang": "painless" } }
内容的提问来源于stack exchange,提问作者Sederfo
相关产品推荐
相关产品推荐

