首页 > 其他分享 >利用Grafana监控influxdb表中数据有效性

利用Grafana监控influxdb表中数据有效性

时间:2024-03-27 14:23:47浏览次数:26  
标签:报警 influxdb Alert 30m 表中 Grafana

目标

把时序数据(如车辆指标)写入influxdb之后,我们想知道指标值是否异常(如累计里程 大于 1 亿)、新增数据量是否合理(如半个小时表中没有新增数据,大概率服务故障了)

方案概述

influxdb本身提供了 alert 功能,但是比较简陋。如不支持把报警消息发送到飞书。
因此我就尝试用Grafana Alert来实现此需求。
不得不说,Grafana Alert功能很强大。Prometheus是基于promQL查询语言创建报警规则,而Grafana Alert是更通用的基于 SQL 创建报警规则的方案。

监控配置步骤

利用influxdb task 每 30 分钟统计一次“每个客户新增数据行数”。

import "date"

option task = {name: "LocRowCountByCustomer", every: 30m}

from(bucket: "iot")
    |> range(start: date.truncate(t: -3h, unit: 30m), stop: date.truncate(t: now(), unit: 30m))
    |> filter(fn: (r) => r["_measurement"] == "device_metric")
    |> filter(fn: (r) => r["_field"] == "longitude")
    |> group(columns: ["customerId"])
    |> aggregateWindow(every: 30m, fn: count, createEmpty: false)
    |> set(key: "_measurement", value: "loc_row_count_by_customer")
    |> set(key: "_field", value: "count")
    |> to(bucket: "iot-stat", org: "tide")

统计结果输出到另外一个表中:
image

这样就得到每个客户的新增数据行数。
此时,还可以利用 influxdb dashboard,对新增数据行数进行可视化展示:
image

Grafana Alert配置

1、配置Grafana数据源
image

需要特别注意授权方式这里。添加influxdb的 token 即可。

2、配置报警规则
(1)最近 30 分钟新增行数低于 10万,进行报警。
image

(2)累计里程有值大于 1000 万,进行报警。
image

3、报警通知方式
image
可以配置把报警消息发送到alertmanager,这样在报警通知这块,就和prometheus监控使用一套体系了。

我对 Grafana Alert的理解

标签:报警,influxdb,Alert,30m,表中,Grafana
From: https://www.cnblogs.com/xushengbin/p/18099056

相关文章

  • CPPB 表中的TXN_CATEGORY
    cst_pac_period_balanceTXN_CATEGORY1    期初    2    成本更新:新成本或百分比变动    3    自有成本事务处理    4    非返工完成    5    成本更新:值变动    6    返工发放    7    返工完成    8    组......
  • grafana+prometheus+cadvisor监控容器指标数据
    前言整理技术,在这篇文章中,将会搭建grafana+prometheus+cadvisor监控容器,并使用一个热门数据看板,再监控容器的性能指标dashboard效果这个是node-exporter采集到的数据,我没装node-exporter,而且这也不是本文的内容,所以这个看板就没东西这个是容器性能指标这个性能指标里......
  • Grafana源码启动
    Grafana源码启动因为项目用到Grafana,但是用iframe嵌入前端。想研究一下源码看有没有可能直接用组件嵌入,然后用API调用Grafana的服务。GrafanabackendGrafana的后端服务是用Go写的,新语言,有待学习。Grafanafrontend前端使用React、Angular编写的Typescript项目。框架没学习过......
  • 二分算法查找列表中的目标值
    题目要求:给定一个已排序的非重复整数数组和一个目标值,如果找到目标,则返回索引。如果不是,返回索引按顺序插入时的位置。(用二分法查找解决)示例1:输入:[1,3,5,6],目标值5输出:2示例2:输入:[1,3,5,6],目标值2输出:1示例3:输入:[1,3,5,6],目标值7输出:4示例4:输入:[......
  • 利用influxdb实现空间索引
    问题描述influxdb官方有一个库(实验版本),说的是可以支持空间索引(如查询某一个框内的轨迹点)。但是我经常测试,查询慢的不可思议。我在论坛曾经反馈过这个问题,目前没找到答案。解决方案1、在influxdb表中增加s2_cell_id字段,通过telegraf给该字段赋值。(见上截图)来验证下s2_c......
  • 删除有序链表中重复的元素-1
    描述删除给出链表中的重复元素(链表中元素从小到大有序),使链表中的所有元素都只出现一次例如:给出的链表\(1\to1\to2\),返回\(1\to2\)给出的链表为\(1\to1\to2\to3\to3\),返回\(1\to2\to3\)数据范围:链表长度满足\(0\len\le100\),,链表中任意节点的值满足\(\midval\mid\le1......
  • 判断链表中是否有环
    描述判断给定的链表中是否有环,如果有环则返回True,否则返回False数据范围:链表长度\(0\len\le1000\),链表中任意节点的值满足\(\midval\mid\le100000\)输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到函数里面。-1代表无环,其它的数字代表有......
  • InfluxDB 常用基本配置,启用账号密码登录,配置指定端口登录
    打开安装目录下的influxdb.conf找到http节点 配置完成后再安装目录下使用命令启动influxdbinfluxd--configinfluxdb.conf启动完成后,基本配置安装部署已结束以下为常见的操作指令:#登录指定ip端口的influxdbinflux-host1.0.0.5-port8086#显示用户SHOWUSERS......
  • Grafana添加下拉框变量
    背景在做完通过process-exporter采集指定进程的资源使用情况后发现Grafana提供的监控图标是将所有机器的进程都存放在一起,不支持单独查看某台机器的进程情况,所以决定对Grafana图表进行修改。Grafanav10.3.1步骤步骤1:点击设置--->添加变量步骤2:设置变量变量类型、常规信......
  • Grafana的render失败的简单处理
    Grafana的render失败的简单处理背景周五周六两天研究了使用grafanarender的方式渲染图片.但是周六晚上收到的邮件发现图片重复了.当时立马就有点懵逼了.手工查看渲染的页面发现会报错:Renderingfailed.没办法,只能周天重新研究一下查看日志"failedtoloador......