6

我真的很喜欢 Grafana 的功能,可以随着时间的推移绘制指标并显示漂亮的仪表板。我想用它来跟踪整个部署环境中的 CPU、Mem 等。我还想用它来跟踪我的 Java 程序中的一些数字。如何将 Java 连接到 Grafana?

Grafana 支持三种不同的数据库解决方案(graphite、influxdb、OpenTSDB)。我目前没有使用任何这些。但是 influxdb 看起来很容易设置。我真的只是在寻找简单且面向未来的东西。它现在只会监控几台服务器,但它可能会随着时间的推移而增长。有没有一种简单的方法可以将带有标签和时间戳的单个 Java 整数推送到 Grafana。我认为指标必须有类似 log4j 的东西。但我还需要决定使用哪个数据库,但希望能从接口中抽象出来。有什么建议吗?

4

3 回答 3

3

Grafana 只是一个显示时间序列的工具。这意味着您需要在您的 java 应用程序和 grafana 之间建立一个额外的时间序列数据库。

您可以在其官方网站上找到当前支持的数据库列表: Datasources

正如你提到的 influxdb,你可能想看看这个influxdb-java项目

于 2018-03-16T12:32:08.547 回答
1

InfluxDB 将是最容易在支持的选项之间设置的。尽管他们正在努力发布稳定版本,但它仍然是一个非常移动的目标。

目前在 Grafana 中可视化数据的唯一方法是通过其中一个数据库。

于 2015-01-23T00:32:05.540 回答
0

对于使用 Grafana 进行监控,我建议 Prometheus ( https://prometheus.io/docs/prometheus/latest/getting_started/ ) 在您的情况下使用 JMX 导出器:https ://github.com/prometheus/jmx_exporter 。

如果需要,您可以添加更多导出器(https://prometheus.io/docs/instrumenting/exporters/),您可以将应用程序的指标公开给 prometheus 等。

Prometheus 是一个完全集成的监控解决方案,只是图表是有限的,因为你不能制作仪表板,但你有 Grafana :)

于 2019-07-02T08:51:58.887 回答