我们正在使用 Apache Cassandra(不是 datastax 版本( db。出于监控目的,我们使用jolokia的REST API来检索Cassandra指标。
所有 jolokia API 都运行良好,这意味着我可以使用 jolokia 的 rest API 获取所有指标。我们也在使用 telegraf,telegraf 从 jolokia 收集指标并将其转发到 InfluxDB。
但是当我在 grafana 中使用"telegraf"db 添加 influxdb 连接时,grafana 并没有向我显示所有指标(仅显示 5-6 个指标(。
我能够通过 rest 客户端调用所有 jolokia API,该客户端返回 cassandra 指标的 JSON 响应,但通过 grafana,我只能看到很少的指标。
我需要在 telegraf 的配置中进行哪些更改才能在 grafana 中获取所有指标? 我还需要设置警报,例如如果 cassandra 中的每秒写入速率超过 1k,那么它应该通过邮件通知我。那么我该怎么做呢?
提前感谢?
我写了这篇文章,介绍如何设置一个简单的Cassandra仪表板。它可能会有所帮助。
您要记录的所有指标都需要在 telegraf.conf 的 [[input.cassandra]]
部分 ̇ 中定义,例如:
[[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=*" ]
至于你的第二个问题:
- 定义一个面板来显示有关数据的信息(我不确定,在这种情况下,写入速率是什么意思(
- 转到"警报配置"部分中的"警报"选项卡,并定义警报应触发的条件
- 转到"警报"选项卡"通知"部分,然后添加您的电子邮件地址和消息。