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

yipeiwu_com5年前Python基础

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

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

有图有真相

#! /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数据,至于后台+独立线程这些东西就见仁见智了

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

总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

详解Python下Flask-ApScheduler快速指南

引言:Flask是Python社区非常流行的一个Web开发框架,本文将尝试将介绍APScheduler应用于Flask之中。 1. Flask介绍  Flask是Python...

Python常用列表数据结构小结

本文汇总了Python列表list一些常用的对象方法,可供初学者参考或查询,具体如下: 1.list.append(x) 把元素x添加到列表的结尾,相当于a[len(a):] =[x],...

基于python分析你的上网行为 看看你平时上网都在干嘛

基于python分析你的上网行为 看看你平时上网都在干嘛

简介 想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了。 这是一个能让你了解自己的浏览历史的Chrome浏览历史记录分析程...

python 数据清洗之数据合并、转换、过滤、排序

python 数据清洗之数据合并、转换、过滤、排序

前面我们用pandas做了一些基本的操作,接下来进一步了解数据的操作, 数据清洗一直是数据分析中极为重要的一个环节。 数据合并 在pandas中可以通过merge对数据进行合并操作。...

Python tkinter实现图片标注功能(完整代码)

.tkinter tkinter是Python下面向tk的图形界面接口库,可以方便地进行图形界面设计和交互操作编程。tkinter的优点是简单易用、与Python的结合度好。tkinte...