1. 程式人生 > >用python 監控SolrCloud叢集,每個節點的記憶體使用率

用python 監控SolrCloud叢集,每個節點的記憶體使用率

一、問題描述

       最近經常遇到,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檔案開啟數,索引資料數量,刪除數量、段數量等等資訊。