Python 脚本获取ES 存储容量的实例
作者:SiegeLionQi
今天小编就为大家分享一篇Python 脚本获取ES 存储容量的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
最近有需求统计ES存储容量,之前用PHP实现的,考虑到以后可能会经常写脚本查询,故用python写了一个脚本,代码如下:
import urllib import urllib2 import sys es_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') title = list[0].split() length = len(list) data = list[1:length] map={} for i in title: map[i] = title.index(i) capacity_used = 0; 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 存储容量的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。