You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Splunk中关联两类日志查询指定失败转账交易?

Splunk查询指定账户的特定失败转账交易方案

完全可行,核心是先从两类日志中提取统一命名的transaction-id字段,再通过关联查询筛选出符合条件的交易。以下是具体实现方法:

方法一:使用join关联(符合你提到的思路)

1. 从交易详情日志中提取目标账户的交易ID

先筛选出accountNo=123的交易记录,提取对应的transaction_id:

index=你的索引 sourcetype=你的源类型 "Transfer money"
| rex "\"accountNo\" : \"(?<accountNo>[^\"]+)\"" 
| rex "\"transaction-id\":\"(?<transaction_id>[^\"]+)\""
| where accountNo="123"
| fields transaction_id accountNo

2. 从异常日志中提取失败交易的ID

筛选出指定错误信息的日志,提取其中的transaction_id:

index=你的索引 sourcetype=你的源类型 "Transfer failed, mainframe is offline"
| rex "\[(?<transaction_id>[^\]]+)\]"
| fields transaction_id

3. 关联两个结果

将上述两个查询通过transaction_id关联,得到最终结果:

index=你的索引 sourcetype=你的源类型 "Transfer money"
| rex "\"accountNo\" : \"(?<accountNo>[^\"]+)\"" 
| rex "\"transaction-id\":\"(?<transaction_id>[^\"]+)\""
| where accountNo="123"
| fields transaction_id accountNo
| join transaction_id [
    search index=你的索引 sourcetype=你的源类型 "Transfer failed, mainframe is offline"
    | rex "\[(?<transaction_id>[^\]]+)\]"
    | fields transaction_id
]
| table accountNo transaction_id

方法二:使用stats聚合(大数据量下更高效)

如果日志数据量较大,join可能存在性能瓶颈,推荐用stats按交易ID聚合筛选:

index=你的索引 sourcetype=你的源类型 ("Transfer money" OR "Transfer failed, mainframe is offline")
| rex "\"accountNo\" : \"(?<accountNo>[^\"]+)\"" 
| rex "\"transaction-id\":\"(?<transaction_id>[^\"]+)\""
| rex "\[(?<transaction_id>[^\]]+)\]"
| eval is_failed=if(searchmatch("Transfer failed, mainframe is offline"), 1, 0)
| eval is_target_account=if(accountNo="123", 1, 0)
| stats max(is_failed) as failed max(is_target_account) as target_account by transaction_id
| where failed=1 AND target_account=1
| table transaction_id

说明:

  • 两个rex语句会分别匹配两类日志中的交易ID,自动为每条日志补全transaction_id字段
  • 通过eval标记每条日志是否属于目标账户、是否是指定错误的异常记录
  • 最后用stats按交易ID聚合,筛选出同时满足“来自账户123”和“因指定原因失败”的交易

内容的提问来源于stack exchange,提问作者lecarpetron dookmarion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:42:48