『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 24531|回复: 37

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

  [复制链接]

5

主题

108

帖子

861

积分

高级会员

Rank: 4

积分
861
金钱
753
HASS币
0
发表于 2018-11-13 17:20:49 | 显示全部楼层 |阅读模式
本帖最后由 ruike007 于 2018-11-13 17:24 编辑

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


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




评分

参与人数 1金钱 +20 收起 理由
+ 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

12

主题

259

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
754
HASS币
0
发表于 2018-11-14 00:05:52 | 显示全部楼层
本帖最后由 tang5275 于 2018-11-14 00:07 编辑

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

回复

使用道具 举报

5

主题

187

帖子

966

积分

高级会员

Rank: 4

积分
966
金钱
779
HASS币
10
发表于 2018-11-14 10:48:02 | 显示全部楼层
tang5275 发表于 2018-11-14 00:05
增长快,你是不是也用了dc1 或者 m1插件了

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

使用道具 举报

5

主题

108

帖子

861

积分

高级会员

Rank: 4

积分
861
金钱
753
HASS币
0
 楼主| 发表于 2018-11-14 12:29:36 | 显示全部楼层
tang5275 发表于 2018-11-14 00:05
增长快,你是不是也用了dc1 或者 m1插件了

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

使用道具 举报

12

主题

259

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
754
HASS币
0
发表于 2018-11-14 14:22:48 | 显示全部楼层
ruike007 发表于 2018-11-14 12:29
是的 DC1和M1都增长很快,后面做了些排除就好很多了,不过一天也要300M左右的数据 ...

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

使用道具 举报

5

主题

108

帖子

861

积分

高级会员

Rank: 4

积分
861
金钱
753
HASS币
0
 楼主| 发表于 2018-11-14 14:28:07 | 显示全部楼层
tang5275 发表于 2018-11-14 14:22
我是只有两个dc1,只存储电压和功率信息,每次点击历史或者查询,都会死机,打开数据库,一天好几十页的 ...

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

使用道具 举报

12

主题

259

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
754
HASS币
0
发表于 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的日志
回复

使用道具 举报

5

主题

108

帖子

861

积分

高级会员

Rank: 4

积分
861
金钱
753
HASS币
0
 楼主| 发表于 2018-11-14 16:12:08 | 显示全部楼层
tang5275 发表于 2018-11-14 16:00
我只设置了记录哪些东西,数量太多,太杂,查询时候斐讯N1 会瞬间占很多资源

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

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

使用道具 举报

12

主题

259

帖子

1014

积分

金牌会员

Rank: 6Rank: 6

积分
1014
金钱
754
HASS币
0
发表于 2018-11-14 16:17:56 | 显示全部楼层
ruike007 发表于 2018-11-14 16:12
查看瞬间确实会占用很多资源  所以还是需要进行定时压缩数据的。
我是python3虚拟环境装的  没用docker, ...

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

使用道具 举报

5

主题

108

帖子

861

积分

高级会员

Rank: 4

积分
861
金钱
753
HASS币
0
 楼主| 发表于 2018-11-14 17:03:55 | 显示全部楼层
tang5275 发表于 2018-11-14 16:17
哦哦,你是安装了python 然后又pip 安装的homeassistant?

是的  个人比较喜欢纯一点的环境
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 12:50 , Processed in 0.223607 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表