Python 脚本获取ES 存储容量的实例

时间:2021-08-19 02:23:44

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

背景:

Python 脚本获取ES 存储容量的实例

通过ES 查询的结果如图所示,脚本实现的作用就是统计store.size 的值。

以上这篇Python 脚本获取ES 存储容量的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/HAOWENQI008/article/details/79097873