任何Homelab的一个很好的补充都可以随着时间的推移跟踪您的Internet速度,并拥有一个不错的仪表板来可视化数据以进行下载/上传速度,延迟和抖动。
我们将使用speedtest.net API进行测试本身,一个时间序列数据库存储我们的测试结果,以及一个从网络上的其他机器可视化它们的仪表板。
为了使部署更加容易,我们将利用Docker容器来打包我们的应用程序,Kubernetes(K8S)进行编排,并掌舵以安装所有内容。
您需要一台覆盆子Pi或其他一些低成本的低成能消耗计算机来进行速度监控。您不需要图形桌面上的桌面,因为您可以将其加入所有任务。
让我们开始吧!所有细节都在这里:
Internet Speed Monitor
Keep track of your internet connection speeds over time with a Raspberry Pi.
此掌舵图表部署:
- Influxdb 2.x数据库用于时间序列数据。
- Grafana仪表板。
- Python应用程序以计划进行速度测试。
先决条件
- Set up您的覆盆子pi。
- Install and configure MicroK8s(或其他轻巧的kubernetes分发带有DNS和Helm addons)。
注意:默认情况下,microk8s使用Dqlite
作为其存储后端而不是etcd
。用encryption at rest进一步保护Secret
对象,用于任何一个存储后端,都不在该项目的范围内。
安装
-
为数据库和仪表板准备Raspberry Pi的本地存储
# pi Helm Repo添加Santisbon https://santisbon.github.io/charts/ #或 Helm Repo更新 图表= “ santisbon/speedtest “ < /pre>
或如果