我相信在创建石墨数据库时我已经做好了一切 . 当我尝试“添加查询”时,Grafana可以看到数据,但不会让我选择所有字段 .
我的服务器输出显示数据库正在运行:
show measurements
name: measurements
name
PORT
select * from "PORT"
name: PORT
time CardNo Counter Nodename PortNo value
---- ------ ------- -------- ------ -----
1511214407000000000 18 bcast_inpackets ALPRGAGQPN2 1 500
但是,当我尝试在Grafana中“添加查询”时,我可以在“FROM”(这是我想要的)中看到PORT,但是在“WHERE”部分中,当我尝试使用CardNo,Counter等缩小我的选择时它似乎表现得随意 . 如果我先选择CardNo,它会让我选择18(见下图),但点击“”添加另一个标准不会显示说“PortNo”的选项(我得到的只是一个空对话框) . 我可以手动输入字段值(例如PortNo),但其他用户将绘制图形,并且不一定知道底层模式 . 另外,如果我先选择Nodename,那么我可以选择CardNo(怪异) . 我喜欢它,所以最终用户可以指定所有字段(在这种情况下,CardNo,Counter,Nodename和PortNo) .
我的石墨模板是这样的:
"[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "graphite"
# retention-policy = ""
bind-address = ":2003"
protocol = "tcp"
# consistency-level = "one"
templates = [ "ASR.PORT.* .measurement.Nodename.CardNo.PortNo.Counter"
]
我提供给InfluxDB以测试我的设置的数据是:
echo "ASR.PORT.ALPRGAGQPN2.18.1.bcast_inpackets 500 `date +%s`" | nc localhost 2003
1 回答
首先,模板更好地写为:
"ASR.PORT.* .measurement.Nodename.CardNo.PortNo.field"
这使
bcast_inpackets
和PortNo
之后的任何其他值进入包含数据的字段 . 通过将所有计数器组合到同一系列的多个字段中而不是使用具有其自己的value
字段的唯一标记的单独系列,这降低了系列的基数,从而提高了性能和可伸缩性 .Grafana的涌入查询构建器将过滤已选择标记值的标记值 . 换句话说,如果选择
PortNo=1
并尝试选择另一个标签,则只显示PortNo = 1的标签键 .如果您查看Grafana在浏览器中运行的查询,如果已选择
PortNo=1
,则会看到类似show tag keys from PORT where PortNo='1'
的内容以及其他标记的不同查询 .这就是为什么您可能看不到其他标签以及您看到哪个标签取决于已选择的标签的原因 . 这是设计的,所以如果你想要不同的东西,你需要调整模式,例如,将
PortNo
和CardNo
变成字段而不是标签 .您可能也对InfluxGraph感兴趣,它可以通过Graphite API查询InfluxDB,并且还支持与InfluxDB相同的模板配置 .