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查找指定具有相同内容文件的方法
Jun 28 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
python针对excel的操作技巧
Mar 13 Python
利用pyinstaller将py文件打包为exe的方法
May 14 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
python getpass实现密文实例详解
Sep 24 Python
Python scrapy增量爬取实例及实现过程解析
Dec 24 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
python怎么提高计算速度
Jun 11 Python
python3.7添加dlib模块的方法
Jul 01 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 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
浅谈php和.net的区别
2014/09/28 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
几种响应式文字详解
2017/05/19 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python  连接字符串(join %)
2008/09/06 Python
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python实现定时播放mp3
2015/03/29 Python
利用Python-iGraph如何绘制贴吧/微博的好友关系图详解
2017/11/02 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
本科生详细的自我评价
2013/09/19 职场文书
党员倡议书
2015/01/19 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL