splunk - 如何通过 HTTP 向 Splunk 提供指标?
问题描述
我一直在阅读 Splunk Enterprise 文档,看来我可以通过 HTTP/HTTPS 提供 JSON 格式的指标:https ://docs.splunk.com/Documentation/Splunk/8.1.1/Metrics/GetMetricsInOther#Get_metrics_in_from_clients_over_HTTP_or_HTTPS
但是,除了一个示例之外,我看不到这种 JSON 格式到底是什么样子的参考。我也不清楚文档是否可以将 Splunk 配置为在我的进程上轮询此端点,或者我是否必须将数据推送到Splunk。
解决方案
Splunk 的 HEC 接口是只接收的。它不轮询。
每当您发现 Splunk 文档页面不清楚时,请提交反馈。Splunk 的文档团队非常擅长根据反馈更新文档。
让我们看一下文档中的示例有效负载。
{
"time": 1486683865,
"source": "metrics",
"sourcetype": "perflog",
"host": "host_1.splunk.com",
"fields": {
"region": "us-west-1",
"datacenter": "dc2",
"rack": "63",
"os": "Ubuntu16.10",
"arch": "x64",
"team": "LON",
"service": "6",
"service_version": "0",
"service_environment": "test",
"path": "/dev/sda1",
"fstype": "ext3",
"metric_name:cpu.usr": 11.12,
"metric_name:cpu.sys": 12.23,
"metric_name:cpu.idle": 13.34
}
}
该time
字段采用 *nix epoch 形式,并说明收集指标的时间。该source
字段将其标识为度量。该值是自由文本。该sourcetype
字段告诉 Splunk 如何解析负载。您的系统可能为指标配置了不同的源类型。该host
字段标识生成指标的服务器。这是自由文本。该fields
部分是指标数据所在的位置。测量值本身由“metric_name:”前缀表示。度量的名称是自由文本。Splunk 会将度量名称中的点视为层次结构分隔符。
一切不以“metric_name:”开头的都是维度而不是度量。维度描述指标并且是可选的。
推荐阅读
- c - 使用 ANSI Escape 在虚拟终端中捕获鼠标
- c# - 当我尝试在 xamrin 表单中添加 ZXing.Net.Mobile.forms 并编译时,它会显示错误
- reactjs - Apollo 错误处理 - 为什么反应应用程序崩溃?
- c++ - 可以跨 dll 边界返回 const 引用/指向 std::vectors 的指针吗?
- kubernetes-ingress - 基本身份验证在 kubernetes 入口中不起作用
- excel - 在列中打印列表列表,如在 excel 中一样
- android - 空指针异常仅发生在 KitKat
- php - Cpanel 日志 - 每个请求的秒数
- python - 使用 conda 时直接链接到 requirements.txt 中的 github
- flutter - Flutter 应用程序错误 - RenderBox 未布置:RenderFlex#0bf43 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE