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


Posted in Python onDecember 27, 2018

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

背景:

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

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

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

Python 相关文章推荐
Python中的Numpy入门教程
Apr 26 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
Nov 29 Python
python面向对象入门教程之从代码复用开始(一)
Dec 11 Python
在django view中给form传入参数的例子
Jul 19 Python
pygame实现打字游戏
Feb 19 Python
python中从for循环延申到推导式的具体使用
Nov 29 Python
pytorch实现线性拟合方式
Jan 15 Python
Python版中国省市经纬度
Feb 11 Python
python 线性回归分析模型检验标准--拟合优度详解
Feb 24 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 #Python
python获取本机所有IP地址的方法
Dec 26 #Python
python检测IP地址变化并触发事件
Dec 26 #Python
python实现自动获取IP并发送到邮箱
Dec 26 #Python
python 实现分页显示从es中获取的数据方法
Dec 26 #Python
python 获取页面表格数据存放到csv中的方法
Dec 26 #Python
python 产生token及token验证的方法
Dec 26 #Python
You might like
PHP分页函数代码(简单实用型)
2010/12/02 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
深入php多态的实现详解
2013/06/09 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
php swoft框架实例用法
2020/12/22 PHP
javascript事件模型代码
2007/07/01 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
2018/08/12 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python PyTorch预训练示例
2018/02/11 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
2020/02/27 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
委托书如何写
2014/08/30 职场文书
重阳节活动主持词
2015/07/04 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Java异常体系非正常停止和分类
2022/06/14 Java/Android