Jmx 监控:可以收集和可视化保存在 Cassandra 上的 Jmx/Mbeans 数据?

Jmx Monitoring: Possible to collect and visualize Jmx/Mbeans Data saved on Cassandra?

我已经设法从 Java 应用程序收集 JMX MetricsData 并将其保存在 Cassandra 数据库中(我的项目负责人说这样做)。

我知道可以使用 JmxTrans 直接从 JMX- Endpoints 收集并在 Grafana/Graphite.

中可视化

我的问题是:我可以从 cassandra 收集 JMX 指标数据并在 Grafana 中可视化吗?

Grafana 需要其他东西(即 graphite、influxdb、cyanite)来存储数据。因此,要回答您关于 grafana 是否可以从 JMX 本身提取指标的问题(我认为您至少在问什么),它将是 "No".

也就是说,您可以使收集变得更轻松、更快捷。 JMX 不是一种非常有效的媒介。相反,只需让 Cassandra 使用其石墨报告器将指标直接发送到您的石墨(或任何报告器)实例。有关详细信息,请参阅 http://www.datastax.com/dev/blog/pluggable-metrics-reporting-in-cassandra-2-0-2。博客post中的步骤如下:

  1. 获取你最喜欢的 reporter jar(例如 metrics-graphite)并将其添加到服务器的库中
  2. 为跟踪样本的记者创建一个配置文件。 通过将 -Dcassandra.metricsReporterConfigFile=yourCoolFile.yaml 添加到 cassandra-env.sh
  3. 中的 JVM_OPTS 来启动服务器

示例配置:

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.+"

您似乎想使用 Cassandra 作为您从其他服务收集的 JMX 指标的数据存储; Grafana 还没有这种支持(列出了可用的数据存储 here.

这个问题很老了,但如果你现在要这样做,我建议使用 Prometheus 作为 Grafana 的数据源以及它在 Cassandra 上的 Jmx Exporter 代理。