python - 从 python 将指标发送到 splunk
问题描述
我有一个包含一些指标的字典列表,比如说
[{"a": 1, "b": 2},
{"a": 3, "b": 4},
{"a": 1, "b": 2}]
作为最终结果,我需要发送两条指标消息
value: 2, dimensions: {"a": 1, "b": 2} #just amount of elements with same dim values
value: 1, dimensions: {"a": 3, "b": 4}
有没有办法像原始字典列表一样发送它们,所以 splunk 可以自己计算所有内容?
解决方案
您可以使用 HEC 将所有维度作为事件发送,然后在 splunk 中进行后处理。stats 命令可以派上用场,我在下面附上了一个示例。可以在此处找到一个很好的 Python 类,以帮助将事件发送到代码中的 HTTP 事件收集器:https ://github.com/georgestarcher/Splunk-Class-httpevent
示例调用:
curl -k "https://localhost:8088/services/collector" \
-H "Authorization: Splunk hec-token-here" \
-d '{"event": "{\"a\": 1, \"b\": 2}"}{"event": "{\"a\": 3, \"b\": 4}"}{"event": "{\"a\": 1, \"b\": 2}"}'
Splunk 统计数据
index=main
|stats c by _raw
请注意结果如何显示您有两个{"a": 1, "b": 2}事件和一个{"a": 3, "b": 4}事件
推荐阅读
- scala - Scala Akka 中尝试/成功/失败的序列化
- firebase - Flutter将图像上传到firebase存储然后将其写入firestore
- terraform - 资源:aws_s3_bucket_public_access_block 抱怨根模块
- c# - 如何回调自定义控件WPF中的代码
- flutter - 有什么方法可以滚动到 Flutter 列表视图中的某个位置
- ios - 如何根据 SwiftUI 中的输入更改 TextField 状态?
- python - 如果 Python 中缺少主列中的值,是否可以将值附加到列?
- decimal - 如何在 Scilab 中求解具有十进制度数的多项式?
- python - 在 multiIndex 中选择多个键
- java - 抽象类 getter 和 setter 用法 [V2]