向 statsd 发送数据时:
echo "foo:1|c" | nc -u -w0 127.0.0.1 8125
statsd 会在刷新后输出结果并将数据插入到 influxDB 中:
{ counters:
{ 'statsd.bad_lines_seen': 0,
'statsd.packets_received': 1,
'statsd.metrics_received': 1,
foo: 1 },
timers: {},
gauges: { 'statsd.timestamp_lag': 0 },
timer_data: {},
counter_rates:
{ 'statsd.bad_lines_seen': 0,
'statsd.packets_received': 0.03333333333333333,
'statsd.metrics_received': 0.03333333333333333,
foo: 0.03333333333333333 },
sets: {},
pctThreshold: [ 90 ] }
运行命令以显示 influxDB 信息:
$curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SHOW MEASUREMENTS"
将成功给出响应:
{
"results": [
{
"series": [
{
"name": "measurements",
"columns": [
"name"
],
"values": [
[
"cpu_load_short"
],
[
"foo.counter"
]
]
}
]
}
]
}
然后我想从 influxDB 查询数据:
$curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT value FROM foo.counter"
我收到错误消息:
{
"results": [
{
"error": "retention policy not found"
}
]
}
有任何想法吗?
流入数据库:0.9.3
最佳答案
您确实找到了正确的解决方案,即任何包含句点的标识符都必须用双引号引起来。原始查询解析为 select * from the measurement "counter" from the retention policy "foo"
,因此是 foo not found
错误。
关于未找到 statsd influxdb 保留策略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32496339/