我们正在使用Apache Cassandra(不是datastax版本)数据库。出于监控目的,我们使用jolokia的REST API检索cassandra指标。
所有jolokia API都可以正常工作,这意味着我可以使用jolokia的其余API来获取所有指标。我们还使用telegraf,telegraf从jolokia收集指标并将其转发到InfluxDB。
但是当我在grafana中添加带有“ telegraf”数据库的influxdb连接时,grafana不会向我显示所有指标(仅显示5-6个指标)。
我能够通过rest客户端调用所有的jolokia API,该客户端返回cassandra指标的JSON响应,但是通过grafana我只能看到很少的指标。
我需要在telegraf的配置中进行哪些更改以获取grafana中的所有指标? 而且我还需要设置警报,例如,如果cassandra中的每秒写入速率超过1k,那么它应该通过邮件通知我。那我该怎么办呢?
提前谢谢吗?
答案 0 :(得分:1)
我写了this post关于如何设置一个简单的Cassandra仪表板。可能有帮助。
您要记录的所有指标都需要在[[input.cassandra]]
部分˙的telegraf.conf中定义,例如:
[[inputs.cassandra]] context = "/jolokia/read" servers = [":8778"] metrics = [ "/java.lang:type=Memory/HeapMemoryUsage", "/java.lang:type=Memory/NonHeapMemoryUsage", "/org.apache.cassandra.metrics:type=Storage,name=Load", "/org.apache.cassandra.metrics:type=Storage,name=TotalHintsInProgress", "/org.apache.cassandra.metrics:type=Storage,name=Exceptions", "/org.apache.cassandra.metrics:type=ClientRequest,name=Latency,scope=*", "/org.apache.cassandra.metrics:type=Client,name=connectedNativeClients", "/org.apache.cassandra.metrics:type=CommitLog,name=PendingTasks", "/org.apache.cassandra.metrics:type=CommitLog,name=TotalCommitLogSize", "/org.apache.cassandra.metrics:type=ClientRequest,name=Timeouts,scope=*", "/org.apache.cassandra.metrics:type=Compaction,name=BytesCompacted", "/org.apache.cassandra.metrics:type=ColumnFamily,name=WriteLatency", "/org.apache.cassandra.metrics:type=ColumnFamily,name=ReadLatency", "/org.apache.cassandra.metrics:type=ColumnFamily,name=RangeLatency", "/org.apache.cassandra.metrics:type=ColumnFamily,scope=*,name=AllMemtablesLiveDataSize,keyspace=*" ]
关于第二个问题: