可用于Solr监控的软件
我介绍了一个可用于Solr监控的API,名为Apache Solr(以下简称”Solr”)监控API。
然而,即使使用JSON返回响应,目视化仍然很困难。编写脚本并使用jq命令每次进行格式化也很麻烦,而且考虑到度量的可视化和警报,自行创建相当困难。
Apache软件基金会的Lucene/Solr项目是一个搜索库/服务器项目,因此与Elastic一样,它不提供搜索服务器(Elasticsearch)以及其可视化(Kibana)和监控(X-Pack)的软件堆栈。
为了实现这些功能,需要借助其他开源软件的力量。
因此,下面介绍一些可用于Solr监控的软件。
可用于Solr监控的软件
在博客和《Apache Solr参考指南7.1》中有一些介绍监控Solr的软件。
-
- jconsole
-
- Graphite
-
- Ganglia
Prometheus + Grafana
可以使用JConsole来完成这个任务。
通过启用Solr的JMX功能,可以使用jconsole可视化Solr的MBean。jconsole已包含在JDK中。
jconsole是符合JMX标准的监控工具,利用JMX功能可以提供可视化应用程序资源的功能。
由于它以独立的Java应用程序形式提供,因此可以在本地计算机上启动并连接到服务器以使用。
请参考下方链接以获取详细信息。
-
- Using JMX with Solr
- Java Platform, Standard Edition Tools Reference – jconsole
由于Jconsole仅仅用于绘制简单的图形,因此可用于测试和验证。
石墨
Graphite是一种开源的集成监控工具。
使用Solr的Metrics Reporting功能,可以通过Graphite Reporter将指标发送到Graphite。
尽管没有实际显示 Solr 的度量指标,但可以在以下屏幕上进行可视化。
参考 https://www.infoq.com/articles/graphite-intro
使用graphite-beacon似乎可以进行警报。
请参考以下的URL以获取详细信息。
-
- Metrics Reporting Graphite Reporter
- Graphite Documentation
神经节
Ganglia 是一个开源的综合监控工具。
使用Solr的度量报告功能,可以通过Ganglia Reporter将度量数据发送到Ganglia。
实际上,并未显示Solr的指标,但可以通过下面的界面进行可视化。
请参考以下链接:http://heig-cloud.github.io/article/2015-12-21%20ganglia/
使用ganglia-alert可以进行告警处理。
请参阅下面的网址以获取详细信息。
-
- Metrics Reporting Ganglia Reporter
- Ganglia Documents
普罗米修斯 + Grafana
Prometheus是一个开源的集成监控工具。
通过使用jmx_exporter,可以公开Solr的指标,并在Prometheus中进行拉取。
Prometheus不仅可以用于可视化指标数据的图形显示,还可以与功能强大的Grafana进行集成,实现更强大的可视化效果。
Prometheus的可视化示例
在Grafana中的可视化示例
请查看 https://techblog.yahoo.co.jp/architecture/abyss_2/
可以通过使用 Prometheus 提供的 Alertmanager 来进行告警处理。
根据我的了解,就 Yahoo! JAPAN 而言,他们似乎在监控3000台Solr时使用了Prometheus。
请点击下面的网址查看详细信息。
-
- Overview | Prometheus
-
- jmx_exporter
-
- Grafana Documentation
- Prometheus: Monitoring at ABYSS – Yahoo! JAPAN Tech Blog
总结
通过使用第三方产品,可以实现对指标的监控,并有助于服务的稳定运行。
如果您已经安装了监控系统,可以开发并集成可用于监控Solr的API插件或工具。
如果您对使用 JMX 进行监控感兴趣的话,我非常推荐您阅读《[改订第3版]Apache Solr入门》一书,它对此进行了简要解释。