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

本文介绍了使用Python脚本从InfluxDB数据源采集网络数据,并在Grafana中进行可视化的过程。关键点包括:确保数据类型正确以避免no datapoint错误,通常设置10秒的数据采集间隔,以及展示Grafana图形配置的简化步骤。文章总结了数据采集过程中遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致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图形,大致就是这样吧

总结

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

本文标题: influx+grafana自定义python采集数据和一些坑的总结

本文地址: http://www.cppcns.com/jiaoben/python/239873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值