influx+grafana自定义python采集数据和一些坑的总结


Posted in Python onSeptember 17, 2018

先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,注意其中几个key的值必须是int或者float类型,如果你不慎写成了string,那就麻烦了,其他的tag是string类型。

另外数据采集时间间隔一般就是10秒,这是潜规则,大家都懂。

有图有真相

influx+grafana自定义python采集数据和一些坑的总结

#! /usr/bin/env python
#-*- coding:utf-8 -*-
 
import os
import arrow
import time
from time import sleep
from influxdb import InfluxDBClient
 
client = InfluxDBClient('localhost', 8086, 'root', '', 'telegraf') 
 
while True:
  if int(time.time())%10 == 0:
    cmd = 'cat /proc/net/dev|grep "ens4"'
    rawline = os.popen(cmd).read().strip()
    rxbytes = int(rawline.split()[1])
    txbytes = int(rawline.split()[9])
    rxpks = int(rawline.split()[2])
    txpks = int(rawline.split()[10])
    now = str(arrow.now()).split('.')[0] + 'Z'
 
    print time.time(), rxbytes,txbytes,rxpks,txpks  
 
    json_body = [
      {
        "measurement": "network",
        "tags": {
          "host": "gc-u16",
          "nio": "ens4"
        },
        #"time": now,
        "fields": {
          "rxbytes": rxbytes,
          "txbytes": txbytes,
          "rxpks": rxpks,
          "txpks": txpks
        }
      }
    ]
 
    client.write_points(json_body)
  sleep(1)

运行脚本,查看influxdb数据,至于后台+独立线程这些东西就见仁见智了

influx+grafana自定义python采集数据和一些坑的总结

然后配置图形,这个就简单了,只要你数据没写错,基本上grafana都能采集到,这里忽略配置数据源创建dashboard和表格等乱七八糟的,直接上配置的sql图形,大致就是这样吧

influx+grafana自定义python采集数据和一些坑的总结

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python抓取网页图片示例(python爬虫)
Apr 27 Python
使用Django的模版来配合字符串翻译工作
Jul 27 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
Python 备份程序代码实现
Mar 06 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
Python 2/3下处理cjk编码的zip文件的方法
Apr 26 Python
Python 串口读写的实现方法
Jun 12 Python
PyQt QListWidget修改列表项item的行高方法
Jun 20 Python
Python字典对象实现原理详解
Jul 01 Python
详解Python time库的使用
Oct 10 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 #Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 #Python
python实现简单http服务器功能
Sep 17 #Python
python实现自动登录
Sep 17 #Python
python发送告警邮件脚本
Sep 17 #Python
python实现zabbix发送短信脚本
Sep 17 #Python
python通过zabbix api获取主机
Sep 17 #Python
You might like
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
BootStrap tooltip提示框使用小结
2016/10/26 Javascript
vue-cli如何引入bootstrap工具的方法
2017/10/19 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
Ruby如何进行文件操作
2014/07/17 面试题
销售会计工作职责
2013/12/02 职场文书
综合实践教学反思
2014/01/31 职场文书
社区春季防火方案
2014/06/02 职场文书
2014年医院工作总结
2014/11/20 职场文书
优秀教师个人总结
2015/02/11 职场文书