如何应用数据图表了解家里的 Unifi 网络状况?

1. 前言

自从之前写了《【让 IT 更简单】使用 Ubiquiti 全家桶对朋友家进行网络改造》 《【Rethinking IT】如何结合 Unifi 和 MikroTik 设备打造家庭网络》两篇文章后,相信给各位正在用 Unifi 或者打算使用 Unifi 的朋友应该有所帮助。

那么,今天我就换个方向,不再讨论规划和安装 Unifi 网络设备,来研究研究如何了解家里的 Unifi 设备状况

这时候有朋友就会说,不是有 Unifi 官方的 Web 控制台,还有手机 App 嘛。没错,Unifi 在 UI 设计方面确实独树一帜,而且在其 Web 控制台和 App 中,每一个 Unifi 设备和客户端设备都有相应的 概览 页面和 洞察 页面,上面提供了 Unifi 设备和客户端设备的实时数据。

但是,如果我希望研究一下某一段时间这个 Unifi 设备的历史数据,想看看这段时间该 Unifi 设备的负载情况,稳定性如何,客户端设备何时离线,是不是就无从得知了?

2. 组件介绍

2.1. Prometheus & InfluxDB

2.1.1. 时序数据库

说 Prometheus 和 InfluxDB 之前,这里需要先提到一个概念:时序数据库 (Time Series Database,TSDB)。那么什么是时序数据库呢,此处引用 WiKi 百科的定义:

A time series database is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s). In some fields, time series may be called profiles, curves, traces or trends. Several early time series databases are associated with industrial applications which could efficiently store measured values from sensory equipment (also referred to as data historians), but now are used in support of a much wider range of applications.

什么意思呢?就是说时序数据库,它被优化成专门将一系列相关联的「时间 」和「数值」,进行存储和提供服务的一套软件系统。在某些领域,时间序列可能被称为剖面、曲线、轨迹或者趋势。一些早期的时间序列数据库与工业应用相关联,这些应用可以有效地存储来自传感设备的测量值,但现在用于支持更广泛的应用。

所以,时序数据其实就是随着时间不断产生的连续测量数值或者事件,时序数据库就是用来保存这些数据的手段之一。

以下引用 TDengine 官方文章中描述时序数据库的特点:

  1. 时间戳: 每个数据点都带有时间戳,这个时间戳对于数据的计算和分析十分重要。
  2. 结构化: 与来自网络爬虫、微博、微信的海量数据不同,联网设备或监控系统生成的数据都是结构化的。这些数据都具有预定义的数据类型或固定长度,比如智能电表采集的电流、电压就可以用 4 字节的标准的浮点数来表示。
  3. 流式: 数据源以近似恒定速率生成数据,如音频或视频流。这些数据流彼此独立。
  4. 流量平稳可预测: 与电商平台或社交媒体网站的数据不同,时序数据的流量在一段时间内是稳定的,并且可以根据数据源的数量和采样周期来进行计算和预测。
  5. 不变性: 时序数据一般都是 append-only,类似于日志数据,一般不容许而且也没有修改的必要。很少有场景,需要对采集的原始数据进行修改。

这么听起来,这种数据库完美契合一种系统:监控系统

相关推荐
2401_cf3 小时前
如何创建maven项目
java·maven·intellij-idea
伍六星10 小时前
maven和npm区别是什么
java·npm·maven
长征coder11 小时前
Maven Deploy的依赖与引用方的依赖不同
java·maven
不知几秋1 天前
Maven
java·数据库·maven
下雨天u1 天前
maven dependencyManagement标签作用
java·数据库·maven
码农飞哥1 天前
互联网大厂Java求职面试实战:Spring Boot到微服务全景解析
java·spring boot·微服务·maven·hibernate·技术栈·面试技巧
极乐谷21 天前
Maven 项目构建时编译错误问题排查与解决
java·maven
forestsea2 天前
Maven 插件参数注入与Mojo开发详解
java·maven·mojo
文静小土豆2 天前
K8S redis 部署
redis·kubernetes·bootstrap
魔尔助理顾问2 天前
Flask如何读取配置信息
python·flask·bootstrap