php push 数据到falcon,从 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)

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对象 前 ...

2、 Spark Streaming方式从socket中获取数据进行简单单词统计

Spark 1.5.2 Spark Streaming 学习笔记和编程练习 Overview 概述 Spark Streaming is an extension of the core Spark ...

解决在IE中获取数据的缓存问题,运行环境为node.js

IE下默认会开启缓存策略,不管是页面还是通过ajax请求的数据都会议一个url,url是uri(统一资源定位符)的实例,url就是资源的标识符. 写一个demo进行验证,测试环境:IE8,node.j ...

随机推荐

vim 命令

命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim ...

Leetcode: Non-overlapping Intervals

Given a collection of intervals, find the minimum number of intervals you need to remove to make the ...

Java Cookie和Session(转载)

一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...

Apache下通过shell脚本提交网站404死链

网站运营人员对于死链这个概念一定不陌生,网站的一些数据删除或页面改版等都容易制造死链,影响用户体验不说,过多的死链还会影响到网站的整体权重或排名. 百度站长平台提供的死链提交工具,可将网站存在的死链( ...

python matplotlib 播放图片变化过程

最近想将原图片和处理后的图片放在一起观察图片的变化过程.但是网上并么有找到有用的示例代码,所以粘出来和大家分享一下. import numpy as np import matplotlib.pypl ...

h5仿微信聊天(高仿版)、微信聊天表情|对话框|编辑器

之前做过一版h5微信聊天移动端,这段时间闲来无事就整理了下之前项目,又重新在原先的那版基础上升级了下,如是就有了现在的h5仿微信聊天高仿版,新增了微聊.通讯录.探索.我四个模块 左右触摸滑屏切换,聊天 ...

Zookeeper -- 关于Zookeeper

Zookeeper是什么? 分布式协调框架 Zookeeper中文件呈树形结构,树形结构下包含多个节点,称为Znode:zk中节点存储数据不超过1M,指得是Znode中存储数据不超过1M Zookee ...

python中定制类

1.python中__str__和repr 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, ...

python---Redis 学习笔记

缓存 前言: 大家都听过缓存,缓存是干啥的呢?我们可以和json和pickle来说,两个程序之间实现信息交互,可以通过在A程序中把数据改成json ,然后传给B程序,通过文件这个介质.文件这个效率很低 ...

How to compile a node file?如何编译一个节点文件?

Ubuntu16.04,ros Kinetic 最近几次遇到的问题都是,给你一个写好的ros node文件,没有给你其他的东西,你如何编译它? 以从ros中提取rgb图像和深度图像为例,示例源代码ex ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值