我有以下格式的 Splunk 结果:
2021-11-13 01:02:50.127 ERROR 23 --- [ taskExecutor-2] c.c.p.r.service.RedisService : The Redis Cache had no record for key: null Returning empty list.
2021-10-22 21:11:51.996 ERROR 22 --- [ taskExecutor-1] c.c.p.r.service.SftpService : Could not delete file: /-/XYZ.FILE - 4: Failure
2021-10-22 02:05:14.426 ERROR 22 --- [ taskExecutor-1] c.c.p.r.service.SftpService : Could not delete file: /-/XYZ.FILE - 4: Failure
我想以以下格式创建可视化:
错误信息 | 时间 | 错误代码 | 任务执行者编号 | 服务名称 | 数数 |
---|---|---|---|---|---|
Redis 缓存没有 key 记录:null 返回空列表。 | 2021-11-13 01:02:50.127 | 23 | 任务执行器-2 | ccprservice.RedisService | 1 |
无法删除文件:/-/XYZ.FILE - 4:失败 | 2021-10-22 21:11:51.996 | 22 | 任务执行器-1 | ccpr服务。FTP服务 | 2 |
无法删除文件:/-/XYZ.FILE - 4:失败 | 2021-10-22 02:05:14.426 | 22 | 任务执行器-1 | ccpr服务。FTP服务 | 2 |
计数变量仅基于“错误消息” 。由于“无法删除文件:/-/XYZ.FILE - 4:失败”出现了两次,因此计数设置为 2。随着日志的增长,以及此消息出现的增加,此计数也应该增加。
我尝试使用来自 Splunk 的 erex 和子字符串,但失败了!
这是我尝试的查询:
index=my_index "ERROR * ---" "taskExecutor-*" | rex "^(?<Time>\S+\s+\S+)\s+\S+\s+(?<Error_Code>\d+)[^\]]+\]\s+(?<Service_Name>\S+)\:\s+(?<Error_Message>.+)"
| table Error_Message Time Error_Code Service_Name
| eventstats count as Count by Error_Message Error_Code Service_Name
似乎正则表达式有问题:https ://regex101.com/r/smWKM8/2
任何有关如何修复此 REGEX 的帮助将不胜感激。
谢谢