用python 監控SolrCloud叢集,每個節點的記憶體使用率
阿新 • • 發佈:2019-01-26
一、問題描述
最近經常遇到,Solr JVM-memory 使用過高的情況,導致Full GC情況,在這裡想做一個對 JVM-Memory的監控。(記憶體使用率過高,導致FUll GC 請檢視本部落格主頁)
二、實現過程
1.得到solr記憶體使用率介面
solr每個埠自帶介面,可以直接呼叫 http://10.38.11.9:6362/solr/admin/info/system?wt=json&_=1514945914786
2.寫 python 指令碼監控
__author__ = 'Administrator' # encoding:utf-8 import urllib2 import urllib import json import smtplib import string from email.mime.text import MIMEText line = 'http://10.38.11.127:8983/solr/admin/info/system?wt=json'; weatherHtml = urllib.urlopen(line) # 通過urllib模組中的urlopen的方法開啟url weatherHtml1 = weatherHtml.read() # 通過read方法獲取返回資料 # print "url返回的json資料:",weatherHtml1 # 列印返回資訊 weatherJSON = json.loads(weatherHtml1) # 將返回的json格式的資料轉化為python物件,json資料轉化成了python中的字典,按照字典方法讀取資料 # print "python的字典資料:",weatherJSON result = weatherJSON['jvm']['memory']['used'] result = result[result.find('%') + 1:result.find(')')] content = line[7:25] + '<br />' #content = content.replace('.', '_') if float(result) > float(90): print(content)
三、問題延伸
1.solr 提供核心資訊介面, http://10.38.11.9:6362/solr/admin/cores?wt=json&_=1514946734664 ,索引檔案大小,開啟檔案數,OS檔案開啟數,索引資料數量,刪除數量、段數量等等資訊。