最近有需求统计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