时间:2020-10-26 22:54:37 | 栏目:Python代码 | 点击:次
最近有需求统计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 的值。