我非常喜欢Grafana的功能,可以随着时间的推移绘制指标并显示一个漂亮的仪表板。我想在整个部署环境中使用它来跟踪CPU,Mem等。我还想用它来跟踪我的Java程序中的一些数字。如何将Java连接到Grafana?
Grafana支持三种不同的数据库解决方案(graphite,Influxdb,OpenTSDB)。我目前没有使用任何这些。但是,Influxdb看起来很容易设置。我真的只是在寻找一些简单且面向未来的东西。它现在只监控几台服务器,但可能会及时增长。是否有一种简单的方法可以将带有标签和时间戳的单个Java整数推送到Grafana中。我认为必须有像log4j这样的指标。但我还需要决定使用哪个数据库,但希望将其从界面中抽象出来。有什么建议吗?
答案 0 :(得分:1)
InfluxDB将是最容易在支持的选项之间进行设置的。虽然他们正在努力发布一个稳定的版本,但它仍然是一个非常动人的目标。
目前在Grafana中可视化数据的唯一方法是通过其中一个数据库。
答案 1 :(得分:1)
Grafana是'只是'显示时间序列的工具。这意味着您需要在java apllication和grafana之间添加一个额外的时间序列数据库。
您可以在其官方网站上找到当前支持的数据库列表:Datasources
正如您提到的Influxdb,您可能想看一下这个influxdb-java项目
答案 2 :(得分:0)
要使用Grafana进行监视,我建议您使用JMX导出器https://prometheus.io/docs/prometheus/latest/getting_started/使用Prometheus(https://github.com/prometheus/jmx_exporter)。
如果需要,您可以添加更多导出器(https://prometheus.io/docs/instrumenting/exporters/),可以将应用程序的指标公开给普罗米修斯,等等。
Prometheus是一个完全集成的监视解决方案,只是图形受到限制,因为您无法制作仪表板,但为此您拥有Grafana:)