我是OpenTSDB的新手,但我设法将它设置在一个docker容器中,并将Grafana连接到它。
现在我正在寻找一种方法来跟踪它的健康状况。特别是,我想绘制一些来自内部统计数据的指标(例如tsd.rpc.received)。
当我试图在OpenTSDB的图形面板中使用它们作为常规指标时,我得到了一个"java.lang.RuntimeException:意外异常“。
我知道我可以将http api (/api/stats)连接到另一个工具,然后将指标发送到cloudwatch或类似的应用程序。但我希望的是不涉及到向解决方案中添加更多部分的东西。
在文档中我发现:“远程登录风格的应用程序接口还支持通过命令行接口获取数据的‘stats’命令。这些命令可以很容易地在您喜欢的任何时间间隔发布回OpenTSDB。”
这是跟踪这些内部指标的推荐方法吗?从stats api读取,然后将它们反馈给OpenTSDB?
发布于 2018-08-14 23:42:22
在寻找了不同的替代方案后,我发现获取内部统计数据的最好方法是使用grafana util,或者将tcollector命令的输出注入opentsdb并使用grafana可视化数据。
因为在我的特殊情况下,我不想安装另一个组件,比如tcollector,所以我会将统计数据作为每个节点中的指标反馈给opentsdb。
这是我编写的一个小脚本,用于通过telnet api反馈统计数据。
#!/bin/bash
while true; do
sleep 5
STATSINPUT=$(echo "stats" | nc 0 4242 -w1)
while IFS= read -r line
do
echo "Feed: $line"
INPUT="put $line"
echo $INPUT | nc 0 4242 -w0
done < <(printf '%s\n' "$STATSINPUT")
done https://stackoverflow.com/questions/51770702
复制相似问题