ZABBIXでApache Solr1.4のステータス監視をする
上記の記事で導入したZABBIXでApache Solrのステータス値を取得する手順を紹介します。
本当はApache Soler3.xの値を取得したかったのですが、どうもうまくいかずバージョン1.4での利用になります。
どなたかSolr3.xでの設定方法わかる方いたら教えて頂きたいです。
Solrの情報を得るためにはブリッジアプリケーションであるzapcatを導入します。
http://www.kjkoster.org/zapcat/
wget http://sourceforge.net/projects/zapcat/files/zapcat/zapcat-1.2/zapcat-1.2.zip/download
ここでダウンロードしてきたzapcat-1.2.zipの中にある、zapcat-1.2.warをsolrに配置します。
unzip zapcat-1.2.zip mv zapcat-1.2/zapcat-1.2.war /usr/local/apache-solr/example/webapps/
Solr起動時のオプションに以下のオプションを追加します
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.authenticate=false
起動スクリプトに追加するとこのようになります。
vim /etc/init.d/solr
start() { $JAVA -Dsolr.solr.home=$CORE -DSTOP.PORT=8079 -DSTOP.KEY=$KEY -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -jar start.jar >> $LOG_FILE 2>&1 & echo "Solr started!" }
このオプションをつけることによりl、JMX(Java Management Extensions)によるモニタリングを受け付けるようになります。
zapcatはWeb画面を提供しているため、以下のアドレスで「Welcome to Zapcat」という画面が確認できるはずです。
http://localhost:8983/zapcat-1.2/
このページにある「mbean list」を見ることでZABBIXで監視できる項目を確認できます。
以下のような項目を監視すると良いでしょう。
項目名 | 説明 | キー | 単位 |
---|---|---|---|
documentCache evictions | ドキュメントキャッシュから追い出された回数 | jmx[solr:type=documentCache,id=org.apache.solr.search.LRUCache][evictions] | 回 |
documentCache hits | ドキュメントキャッシュからデータを返せた回数 | jmx[solr:type=documentCache,id=org.apache.solr.search.LRUCache][hits] | 回 |
documentCache size | ドキュメントキャッシュに入れられる個数 | jmx[solr:type=documentCache,id=org.apache.solr.search.LRUCache][size] | 個 |
queryResultCache evictions | クエリキャッシュから追い出された回数 | jmx[solr:type=queryResultCache,id=org.apache.solr.search.LRUCache][evictions] | 回 |
queryResultCache hits | クエリキャッシュからデータを返せた回数 | jmx[solr:type=queryResultCache,id=org.apache.solr.search.LRUCache][hits] | 回 |
queryResultCache size | クエリキャッシュに入れられる個数 | jmx[solr:type=queryResultCache,id=org.apache.solr.search.LRUCache][size] | 個 |
searcher maxDoc | 検索対象になった文書の最大数 | jmx[solr:type=searcher,id=org.apache.solr.search.SolrIndexSearcher][maxDoc] | 個 |
searcher numDocs | 現在検索対象とされている文書数 | jmx[solr:type=searcher,id=org.apache.solr.search.SolrIndexSearcher][numDocs] | 個 |
standard errors | 検索クエリの処理エラー累計数 | jmx[solr:type=standard,id=org.apache.solr.handler.component.SearchHandler][errors] | 回 |
standard requests | 検索クエリの処理累計数 | jmx[solr:type=standard,id=org.apache.solr.handler.component.SearchHandler][requests] | 回 |
updateHandler commits | コミット回数 | jmx[solr:type=updateHandler,id=org.apache.solr.update.DirectUpdateHandler2][commits] | 回 |
updateHandler optimizes | オプティマイズ回数 | jmx[solr:type=updateHandler,id=org.apache.solr.update.DirectUpdateHandler2][optimizes] | 回 |
ZABBIXでの追加方法
1.「configuration」→「Hosts」→「Create Host」でSolrのホスト登録をします。
ポートは10052を指定してください。
2.追加したホストにモニタするアイテムを追加します。
「configuration]→「Hosts」のホスト一覧が表示されている中でSolrのホストの欄にある「Items」をクリックします。
3.「create Item」をクリックし監視したいアイテムを追加します。Keyの部分に上記表の監視したいキーを入れましょう。
これでZABBIXからsolrの値を取得することができます。
最初にも書いた通り、Solr3.xのバージョンだと値が取得できませんでした。何か内部変わっているんでしょうか…。