最近有需求统计ES存储容量,之前用PHP实现的,考虑到以后可能会经常写脚本查询,故用python写了一个脚本,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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 存储容量的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/HAOWENQI008/article/details/79097873