收起左侧

用Home Assistant记录分析fnOS系统运行状态

1
回复
290
查看
[ 复制链接 ]

1

主题

1

回帖

0

牛值

江湖小虾

最近刚入坑飞牛,给NanoPi R5S(RK3568)刷了Arm版fnOS(之前折腾过OpenWRT、iStoreOS),系统资源占用竟然更低,尽享丝滑。

之前我是写了一个sh脚步,通过HomeAssistant(HA)的REST API上报状态数据,刷机忘了备份,结果在GitHub找到了这么个开源项目,可以把 NAS 的 CPU温度、内存占用、磁盘空间、网速 上报到HA,可以分析使用负载和温度的变化关系,还可以联动到 HA 自动化(比如温度过高自动开启机柜风扇)。

开源项目:ha-host-monitor

  • 它可以Docker 一键部署!支持x86/Arm

    很多系统状态资源监控的方式是要给Host安装一个收集数据的Agent,这个不用!它是把系统日志目录挂载到容器内部,自定义周期扫描分析日志,来获得资源状态数据。

  • 关于HA的REST API和MQTT

    之前手写sh脚本报数据到HA,它会提示:此实体(sensor.cc6f8cb5538c_monitor_network_io_bytes_sent)没有唯一标识符,因此无法在用户界面管理其设置。请参阅 文档 获取更多详情。这个是REST API接口的限制,这样的 实体(entity)在HA里无法自定义名称、正确显示统计历史图表之类的,要手改 configuration.yaml,还挺麻烦的。

    但是通过MQTT协议连接的设备可以自动领到 唯一标识符,就可以正常显示图标统计分析,需要HA装了MQTT Broker插件或者docker跑一个轻量化的MQTT Server,我的是 eclipse-mosquitto

  • 关于监控维度

    除了基础的负载,连磁盘读写、网络流量这些细分数据都能抓到。


fnOS快速部署

第一步:参数配置

在docker容器目录,新建/config/config.yml,内容如下:

REST API:

home_assistant:
host_identifier: auto
  report_mode: "rest_api"
  url: "http://homeassistant.local:8123"
  token: "替换为HA长期令牌"

MQTT:

home_assistant:
host_identifier: auto
  report_mode: "mqtt"
mqtt:
  broker: "替换为MQTT Server IP地址"
  port: 1883

第二部:启动docker

基本不用修改docker-compose.yaml/config目录放在整个docker容器目录里

docker-compose.yaml

version: '3.8'
services:
  ha-host-monitor:
    image: ghcr.nju.edu.cn/ne**809/ha-host-monitor:latest
    container_name: ha-host-monitor
    restart: unless-stopped
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - ./config:/app/config

Enjoy!

对于REST API上报:前往设置 - 集成 - 实体

对于MQTT上报:前往设置 - 集成 - MQTT(官方集成)- 会自动发现添加

一点效果图

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

1

回帖

0

牛值

江湖小虾

前天 01:42 楼主 显示全部楼层
太奇怪了 一发布图没了 还格式错乱 在这儿发图吧:




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则