influx+grafana自定义python采集数据和一些坑的总结
作者:大囚长
一些数据的类型不正确会导致no datapoint的错误,真是令人抓狂,本文就是总结一下采集数据种的一些坑,希望大家可以从中获益
先上网卡数据采集脚本,这个基本上是最大的坑,因为一些数据的类型不正确会导致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图形,大致就是这样吧
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:
- 利用Prometheus与Grafana对Mysql服务器的性能监控详解
- grafana安装及使用教程详解
- 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则(图解)
- 使用Prometheus+Grafana的方法监控Springboot应用教程详解
- 使用Grafana+Prometheus监控mysql服务性能
- 基于docker 搭建Prometheus+Grafana的过程详解
- SpringBoot+Prometheus+Grafana实现应用监控和报警的详细步骤
- Linux下安装grafana并且添加influxdb监控的方法
- 解析prometheus+grafana监控nginx的方法
- Prometheus 监控MySQL使用grafana展示
- 在Ubuntu上使用Grafana监控Docker的方法
- 借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程
- docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程
- 使用docker部署grafana+prometheus配置
- ELK与Grafana联合打造可视化监控来分析nginx日志
- 忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤