一致以来,很多朋友谈到,建立好Solr (大大有名的全文检索开源软件,apache 基金会支持),在运营时应该准备怎样的硬件环境?
随着索引数据量的增加,要想稳定运行,就需要7X24小时监控,了解各项资源的使用情况,用户的请求情况等。
最近,使用 Hyperic HQ(也是一个有名的开源软件,VMWare支持)技术开发一个插件, Hyperic HQ Solr Plugin.具体可访问 http://www.innovatedigital.com/node/925
Solr是一个Java应用,可以部署在Web容器中。如果使用的是 Sun Java 1.6, 在启动命令行加上 -Dcom.sun.management.jmxremote 即可启用 JMX 监控。例如:
java -Dcom.sun.management.jmxremote -jar start.jar
配置时,需要JMX的用户名,口令,和jmx_url。 如果是本地相同用户监控,只要制定进程号即可,这种方式不需要用户名和口令,(只对Sun Java 1.6+有用),具体写法可参考,另一个开源工具sigar的文档。
监控时首要关注的是Java虚拟机的配置,包括堆空间大小,当前堆的使用大小等。然后关注的应该是索引文档的数量,最大值,以及各种查询,缓存的命中率,使用率等,具体如下:
JVM 指标
activeThreadCount:活跃线程数量
CurrentHeapSize:当前堆大小
TotalHeapSize: 堆的总大小
Searcher 监控
Searcher Number of Docs
Searcher Max Docs
Query监控
Query Result Cache Evictions
Query Result Cache Hit Ratio
Query Result Cache Hits
Query Result Cache Inserts
Query Result Cache Lookups
Query Result Cache Sizes
Document监控
Document Cache Evictions
Document Cache Hit Ratio
Document Cache Hits
Document Cache Inserts
Document Cache Lookups
Document Cache Sizes
Filter 监控
Filter Cache Evictions
Filter Cache Hit Ratio
Filter Cache Hits
Filter Cache Inserts
Filter Cache Lookups
Filter Cache Sizes
Update 监控
Update Handler Adds
Update Handler Commits
Update Handler Autocommits
Update Handler Optimizes
Update Handler Rollbacks
Update Handler ExpungeDeletes
Update Handler DocsPending
Update Handler DeletesById
Update Handler DeletesByQuery
Update Handler Errors
监控Solr后,可使用Hyperic HQ丰富功能,对采集的数据进行查看,展示,报警。