从 falcon api 中获取数据
import json
import time import requests openfalcon = 'http://ip:port/api/v1'
user = 'user'
password = 'password' def get_sig(user=user, password=password):
url = '%s/user/login' % openfalcon
response = requests.post(url, data=dict(name=user, password=password), timeout=2)
return response.json() def get_graph_history(hostname, category, start_time, end_time):
url = '%s/graph/history' % openfalcon
sig = get_sig()
headers = {
'Apitoken': json.dumps({'name': sig['name'], 'sig': sig['sig']}),
'Content-type': 'application/json',
'X-Forwarded-For': '127.0.0.1',
} counters = [
"cpu.idle",
"cpu.iowait",
"cpu.user",
"cpu.system",
"cpu.iowait",
"cpu.irq",
"cpu.softirq",
"mem.memfree.percent",
"mem.swapfree.percent",
"df.bytes.free.percent/fstype=ext4,mount=/",
"df.bytes.free.percent/fstype=ext4,mount=/data",
"net.if.in.bytes/iface=eth0",
"net.if.out.bytes/iface=eth0",
"net.if.in.packets/iface=eth0",
"net.if.out.packets/iface=eth0",
"net.if.in.dropped/iface=eth0",
"net.if.out.dropped/iface=eth0",
"net.if.in.errors/iface=eth0",
"net.if.out.errors/iface=eth0",
"ss.estab",
"load.1min",
"load.5min",
"load.15min",
"disk.io.read_bytes/device=vda",
"disk.io.read_bytes/device=vdb",
"disk.io.write_bytes/device=vda",
"disk.io.write_bytes/device=vdb",
"disk.io.msec_total/device=vda",
"disk.io.msec_total/device=vdb",
"disk.io.avgrq_sz/device=vdb",
"disk.io.avgqu-sz/device=vdb",
"disk.io.await/device=vdb",
"disk.io.svctm/device=vdb",
"disk.io.util/device=vdb",
] if 'cpu' == category:
counters = counters[0:7]
elif 'memory' == category:
counters = counters[7:9]
elif 'disk' == category:
counters = counters[9:11]
elif 'net' == category:
counters = counters[11:20]
elif 'io' == category:
counters = counters[20:23]
else:
counters = counters[23:] data = {
"step": 60,
"start_time": start_time,
"hostnames": [hostname],
"end_time": end_time,
"counters": counters,
"consol_fun": "AVERAGE"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.json() if __name__ == '__main__':
end_time = int(time.time())
start_time = end_time - 300
print get_graph_history('host-001', 'io', start_time, end_time)
从 falcon api 中获取数据的更多相关文章
- requests从api中获取数据并存放到mysql中
python的requests库是一个非常强大的库,requests的安装方法十分简单,用: pip install requests 即可安装requests,安装成功后: import reque ...
- 从api接口获取数据-okhttp
首先先介绍下api接口: API:应用程序接口(API:Application Program Interface) 通常用于数据连接,调用函数提供功能等等... 从api接口获取数据有四种方式:Ht ...
- Thymeleaf+SpringMVC,如何从模板中获取数据
Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...
- hive从查询中获取数据插入到表或动态分区
Hive的insert语句能够从查询语句中获取数据,并同时将数据Load到目标表中.现在假定有一个已有数据的表staged_employees(雇员信息全量表),所属国家cnty和所属州st是该表的两 ...
- 哪种方式更适合在React中获取数据?
作者:Dmitri Pavlutin 译者:小维FE 原文:dmitripavlutin.com 国外文章,笔者采用意译的方式,以保证文章的可读性. 当执行像数据获取这样的I/O操作时,你必须发起获取 ...
- Django Form 实时从数据库中获取数据
修改 models.py 添加 class UserType(models.Model): caption = models.CharField(max_length=32) 执行命令,生成数据库 p ...
- SpringMVC从Request域中获取数据
SpringMVC从Request域中获取数据的三种方式 SpringMVC环境自行搭建, 约定存在如下目录和文件:/WEB-INF/pages/success.jsp 方式一:传入Model对象 前 ...
- SQL语句的使用,SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据
SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法. 但是 SQL 语言也包含用于更新. ...
- Vue3 组合式 API 中获取 DOM 节点的问题
模板引用 Vue 提供了许多指令让我们可以直接操作组件的模板.但是在某些情况下,我们仍然需要访问底层 DOM 元素.在模板中添加一个特殊的属性ref就可以得到该元素. 访问模板引用 <scrip ...
随机推荐
- linq group by / distinct
https://www.cnblogs.com/qixu/p/6033532.html http://www.cnblogs.com/A_ming/archive/2013/05/24/3097062 ...
- asp.net core 2.1 增加Nlog日志到sql server数据库
一.增加引用 <PackageReference Include="NLog.Extensions.Logging" Version="1.2.1" /& ...
- 修改BUG心得
修改BUG心得 分类: 项目管理/CMMI2013-01-14 22:06 845人阅读 评论(0) 收藏 举报 目录(?)[-] 一 二 三 一. 1.写第一版时就杜绝这些的发生. 2.思维要开 ...
- swiper3d横向滚动多张炫酷切换banner
最近有了个新需求,swiper3d横向滚动多张炫酷切换banner要和elementUI里边走马灯的卡片化card 类似,但是还需要h5手机触摸滚动啊啊啊啊,昨天折腾了半个早上总算完成,今天乖乖跑来m ...
- Java转换Json日期/Date(1487053489965+0800)/格式以及js时间格式 Tue Feb 14 2017 14:06:32 GMT+0800
/Date(1487053489965+0800)/用Java怎么转换成yyyy-MM-dd的格式 Tue Feb 14 2017 14:06:32 GMT+0800用Java怎么转换成yyyy-MM ...
- 全球晶圆代工厂哪家强?2016年Top30名单
1.台积电(TSMC) 总部:台湾 简介:世界上最大的独立半导体晶圆代工企业,与联华电子并称“晶圆双雄”. 主要客户:苹果,高通,联发科,华为海思 官网:http://www.tsmc.com/ 2. ...
- UVa 12545 Bits Equalizer (贪心)
题意:给出两个等长的字符串,0可以变成1,?可以变成0和1,可以任意交换s中任意两个字符的位置,问从s变成t至少需要多少次操作. 析:先说我的思路,我看到这应该是贪心,首先,如果先判断s能不能变成t, ...
- LdA笔记
LDA算法最初的论文使用的是变分EM方法训练(Variational Inference).该方法较为复杂,而且最后训练出的topic主题非全局最优分布,而是局部最优分布.后期发明了Collapsed ...
- 20155216 2016-2017-2 《Java程序设计》第六周学习总结
20155216 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 流与IO 将数据从来源中取出,可以使用输入串流:将数据写入目的地,可以使用输出串流,串流是有 ...
- JAVA开发常用计算机命令
系统常用命令 win+r > control (可进入控制面板,管理工具,服务) win+r > cmd > systeminfo (x86-based 指32位系统,x86-64 ...