从 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 ...
随机推荐
- 调用数据库-corina
pym = mysql(host='#####', port=3306, user='######', password='########', database='algorithm') #查询数据 ...
- Devexpress VCL Build v2014 vol 14.2.6 发布
终于支持XE8 了.需要这么长时间吗? New Major Features in 14.2 What's New in VCL Products 14.2 Feature Highlights To ...
- git分支删除
1.列出本地分支: git branch 2.删除本地分支: git branch -D BranchName 其中-D也可以是--delete,如: git branch --delete Bran ...
- Linux必须学的东西,鉴于各大公司实际开发都不用Windows系统
Windows安全性比较差,所以各大公司会使用其他的平台,所以像Linux就是很常用的,基于Unix的开源系统,鉴于很多人写的很散,所以自己总结下对于自己有用的重点,现在总结下简单的linxu的命令使 ...
- Hadoop分布式远程Debug方式
1.进入目录修改配置文件 cd /cloud/hadoop-2.2.0/etc/hadoop vim hadoop-env.sh2.加入内容(文本最后): #远程调试NameNode export H ...
- b2_trsd_EDSD_new
# -*- coding:utf-8 -*- import re ss="./data/" year = '17A' filename = ss+'EDSD%s.txt'%year ...
- java thrift返回List异常
对于下段代码: public List<String> hmget(String key, List<String> fields) throws org.apache.thr ...
- SpringMvc中controller之间的方法调用
方法一, return new ModelAndView("redirect:"+新地址); 方法二, response.sendRedirect(新地址); return nul ...
- .NET 4中的多线程编程之一:使用Task(转载)
原文地址:http://www.cnblogs.com/yinzixin/archive/2011/11/04/2235233.html .NET 4为了简化多线程编程,提供了System.Threa ...
- Jesery客户端工具类
public class JerseyClientUtil { public static<T> T sendMsg(String url,Object object,Class<T ...