我有这样的json数据:
{
"deploy:success": 2,
"deploy:RTX:success": 1,
"deploy:BLX:success": 1,
"deploy:RTX:BigTop:success": 1,
"deploy:BLX:BigTop:success": 1,
"deploy:RTX:BigTop:xxx:success": 1,
"deploy:BLX:BigTop:yyy:success": 1,
}每增加一个新的:<field>,就会使它更加具体。例如,使用"deploy:RTX:success“格式的键是特定站点的RTX。我正计划使用一个过滤器只显示站点特定的计数。
eval column_name=if($site_token$ = "", "deploy:success", "deploy:$site_token$:success")然后重命名派生列:
rename column_name deploy但是重命名是在第一个参数中寻找实际值,而不仅仅是列名。我不知道如何从那一栏中得到与我一生相关联的值。
index=cloud_aws namespace=my namespace=Stats protov3=*
| spath input=protov3
| eval column_name=if("$site_token$" = "", "deploy:success", "deploy:$site_token$:success")
| rename column_name AS "deploy"我做错了什么?
发布于 2022-03-12 21:18:36
目前还不清楚最终的结果是什么。如果$site_token$为空时的结果应该是"deploy:success“,那么只需使用"deploy”作为eval的目标。
index=cloud_aws namespace=my namespace=Stats protov3=*
| spath input=protov3
| eval deploy=if("$site_token$" = "", "deploy:success", "deploy:$site_token$:success")OTOH,如果$site_token$为空时的结果应该是"2“,那么在eval中使用带有单引号的现有查询。单引号告诉Splunk将包含的文本视为字段名,而不是文字字符串(双引号就是这样做的)。
index=cloud_aws namespace=my namespace=Stats protov3=*
| spath input=protov3
| eval deploy=if("$site_token$" = "", 'deploy:success', 'deploy:$site_token$:success')https://stackoverflow.com/questions/71451935
复制相似问题