使用jq提取Kubernetes审计日志数据时如何去除空值?
解决Kubernetes审计日志提取时去除null值的问题
可以通过在jq命令中加入过滤条件,只保留目标字段不为null的记录,具体命令如下:
cat kube-apiserver-audit.log | jq 'select(.annotations."pod-security.kubernetes.io/audit-violations" != null) | .annotations."pod-security.kubernetes.io/audit-violations"'
命令说明
select(.annotations."pod-security.kubernetes.io/audit-violations" != null):筛选出目标字段存在且值不为null的日志条目,直接跳过没有该注释或注释值为空的记录。- 后续的
| .annotations."pod-security.kubernetes.io/audit-violations":从筛选后的记录中提取目标字段的值,最终输出结果将不再包含null。
内容的提问来源于stack exchange,提问作者Starbucks Admin
相关产品推荐
相关产品推荐

