一致以來,很多朋友談到,建立好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豐富功能,對採集的數據進行查看,展示,報警。