最近有需求統計ES存儲容量,之前用PHP實現的,考慮到以后可能會經常寫腳本查詢,故用python寫了一個腳本,代碼如下:
import urllibimport urllib2import syses_service_addr = sys.argv[1] url = "http://" + es_service_addr + "/_cat/indices?v";req = urllib2.Request(url)res_data = urllib2.urlopen(req)res = res_data.read() list = res.split('/n') for i in data: value = i.split() l = len(value) if l > 0 : store_size = value[map['store.size']].lower() if "k" in store_size: capacity_used += int(store_size[:-1]) * 1024 elif "m" in store_size: capacity_used += int(store_size[:-1]) * 1024 * 1024 elif "g" in store_size: capacity_used += int(store_size[:-1]) * 1024 * 1024 * 1024 elif "p" in store_size: capacity_used += int(store_size[:-1]) * 1024 * 1024 * 1024 * 1024 elif "p" in store_size: capacity_used += int(store_size[:-1]) * 1024 * 1024 * 1024 * 1024 * 1024 else: capacity_used += int(store_size[:-1]) print str(capacity_used) + " Bytes"背景:
通過ES 查詢的結果如圖所示,腳本實現的作用就是統計store.size 的值。
以上這篇Python 腳本獲取ES 存儲容量的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答