ruike007 发表于 2018-11-13 17:20:49

N1 hass设置自动清理&更换数据库,防止爆空间

本帖最后由 ruike007 于 2018-11-13 17:24 编辑

不得不说N1真的是一个高性价比的盒子,很多人都用它来搭hass,论坛里也是各种方案教程都有,这里就不赘述了。
不过。盆友们使用几天后就会发现一个比较严重的问题,hass的历史数据太大,很快就能占满设备本来就不多的空间(3-5G),导致N1无法启动或服务卡死。
特别是多设备的时候,一天能有1G+的日志,5天内妥妥的占满100%。(当然有外置弄外置磁盘的除外哈哈)
其实这个问题,官方也是有解决方案,一个是本地储存,然后抛弃历史数据,一个是远程储存。本地储存可以配置 configuration.yaml
vimvinano xftp 看你喜欢。。。
然后找到recoder,配置如下:

recorder:
# 可选项,以下配置表示每2天进行一次数据库“事件表”和“状态表”的清理动作;缺省值为永不清理。
purge_interval: 1
# 当配置了purge_interval后配置,以下配置表示在清理数据库历史记录时保留最近5天的记录。
purge_keep_days: 5
确认配置没错,重启就生效了、
同时,你也可以根据你的空间配置更短的时间,也可以直接配置不记录:像下面的配置:


# 通过配置exclude,排除一些域与实体相关的信息,不记录到数据库(除此之外都记录)
recorder:
exclude:
    domains:
      - automation
      - weblink
      - updater
    entities:
      - sun.sun # Don't record sun data
      - sensor.last_boot # Comes from 'systemmonitor' sensor platform
      - sensor.date

或者 你也可以配置保存到自己的外部数据库里,这里以mysql为例:
(系统默认是使用SQLite,基本支持各种数据库)

安装数据库支持:
(这部分论坛也有,不过之前的教程都不是基于arrch64的环境,所有这里有点不一样)


sudo apt-get install default-libmysqlclient-dev
pip3 install --upgrade mysqlclient


然后在 configuration.yaml中加入


recorder:
db_url: mysql://用户:密码@地址/数据库名?charset=utf8

重启生效
数据库清理、包含、排查与方案一一致




tang5275 发表于 2018-11-14 00:05:52

本帖最后由 tang5275 于 2018-11-14 00:07 编辑

增长快,你是不是也用了dc1 或者 m1插件了

cnbb 发表于 2018-11-14 10:48:02

tang5275 发表于 2018-11-14 00:05
增长快,你是不是也用了dc1 或者 m1插件了

M1、A1都用了,还有S7的可惜目前就一个M1能正常看到

ruike007 发表于 2018-11-14 12:29:36

tang5275 发表于 2018-11-14 00:05
增长快,你是不是也用了dc1 或者 m1插件了

是的 DC1和M1都增长很快,后面做了些排除就好很多了,不过一天也要300M左右的数据

tang5275 发表于 2018-11-14 14:22:48

ruike007 发表于 2018-11-14 12:29
是的 DC1和M1都增长很快,后面做了些排除就好很多了,不过一天也要300M左右的数据 ...

我是只有两个dc1,只存储电压和功率信息,每次点击历史或者查询,都会死机,打开数据库,一天好几十页的数据,都是dc1的状态

ruike007 发表于 2018-11-14 14:28:07

tang5275 发表于 2018-11-14 14:22
我是只有两个dc1,只存储电压和功率信息,每次点击历史或者查询,都会死机,打开数据库,一天好几十页的 ...

配置了exclude是吗我测试用mysql会好很多3个DC1,只记录9个开关状态和电压功率 可以存储3天以上的数据

tang5275 发表于 2018-11-14 16:00:01

本帖最后由 tang5275 于 2018-11-14 16:02 编辑

ruike007 发表于 2018-11-14 14:28
配置了exclude是吗我测试用mysql会好很多3个DC1,只记录9个开关状态和电压功率 可以存储3天以上的数 ...
我只设置了记录哪些东西,数量太多,太杂,查询时候斐讯N1 会瞬间占很多资源

实际上还有个需要清理,就是docker容器的日志,我曾经不知道怎么回事,ha容器产生了3个g的日志

ruike007 发表于 2018-11-14 16:12:08

tang5275 发表于 2018-11-14 16:00
我只设置了记录哪些东西,数量太多,太杂,查询时候斐讯N1 会瞬间占很多资源

实际上还有个需要清理,就是 ...

查看瞬间确实会占用很多资源所以还是需要进行定时压缩数据的。
我是python3虚拟环境装的没用docker,所以不太清楚。正常这种情况是有发生什么错误

tang5275 发表于 2018-11-14 16:17:56

ruike007 发表于 2018-11-14 16:12
查看瞬间确实会占用很多资源所以还是需要进行定时压缩数据的。
我是python3虚拟环境装的没用docker, ...

哦哦,你是安装了python 然后又pip 安装的homeassistant?

ruike007 发表于 2018-11-14 17:03:55

tang5275 发表于 2018-11-14 16:17
哦哦,你是安装了python 然后又pip 安装的homeassistant?

是的个人比较喜欢纯一点的环境
页: [1] 2 3 4
查看完整版本: N1 hass设置自动清理&更换数据库,防止爆空间