我设法从Java应用程序中收集JMX
MetricsData并将其保存在Cassandra
数据库中(我的项目负责人说这样做)。
我知道可以直接从JMX-端点使用JmxTrans
进行收集,并在Grafana
/ Graphite
内对其进行可视化。
我的问题是:我可以从cassandra收集JMX指标数据并在Grafana中将其可视化吗?
答案 0 :(得分:3)
Grafana需要其他东西(例如graphite,Influxdb,cyanite)来存储数据。所以回答你的问题(我认为你至少要问)如果grafana可以从JMX本身提取指标,那就是“不”。
那就是说你可以让收藏变得更轻松,更快捷。 JMX不是一种非常有效的媒介。相反,让Cassandra使用石墨记者将指标直接发送到您的石墨(或任何报告者)实例。有关详细信息,请参阅http://www.datastax.com/dev/blog/pluggable-metrics-reporting-in-cassandra-2-0-2。博客文章中的步骤如下:
-Dcassandra.metricsReporterConfigFile=yourCoolFile.yaml
添加到JVM_OPTS
cassandra-env.sh
,启动服务器graphite:
-
period: 60
timeunit: 'SECONDS'
hosts:
- host: 'graphite-server.domain.local'
port: 2003
predicate:
color: "white"
useQualifiedName: true
patterns:
- "^org.apache.cassandra.metrics.Cache.+"
- "^org.apache.cassandra.metrics.ClientRequest.+"
- "^org.apache.cassandra.metrics.Storage.+"
- "^org.apache.cassandra.metrics.ThreadPools.+"
醇>
示例配置:
{{1}}
答案 1 :(得分:1)
这个问题已经过时了,但如果你现在这样做,我建议使用Prometheus作为Grafana的数据源以及它在Cassandra上的JmxExporter代理。
答案 2 :(得分:0)
您似乎希望使用Cassandra作为您从其他服务收集的JMX指标的数据存储; Grafana还没有这种支持(列出了可用的数据存储here。