找回密码
 立即注册

微信扫码登录

搜索
查看: 24211|回复: 63

[进阶教程] 【grafana】绝美图表~装B神器!

  [复制链接]

18

主题

583

回帖

4556

积分

元老级技术达人

积分
4556
金钱
3920
HASS币
182
发表于 2022-12-12 20:10:23 | 显示全部楼层 |阅读模式
装B是智能家居第一生产力

不知道大家因为什么入坑的智能家居,反正我就是想简单搞个灯光控制,结果小玩意越买越多,光小米设备就100多件后来慢慢从小米全家桶过渡到home assistant,然后就来抄论坛大佬作业。现在作为一个智能家居练习时长长达三年半的个人玩家,实用的东西搞差不多了,就剩下装B需求啦!


我个人感觉,现在阻碍装B的最大障碍就是HA前端页面,尽管这些年HA前端页面一直在不断优化,然而在数据可视化特别是做图表方面,要么是很难搞,要么就是太难看。没办法,home-assistant毕竟是智能家居应用而非数据可视化应用,图表难搞也很好理解。然而耽误装B,我不能忍!所以,为了治好装B综合症,我只能向专业数据可视化应用grafana下手啦~


有的朋友可能没接触过电子厂IT运维工作,对Grafana并不熟悉。这是一款数据可视化应用,通常被用作IT应用服务监控可视化,大概是长这样的:


play-grafana-org-2.png



这不比HA自带的图表功能高端霸气上档次,简直是简直了~


心动不如行动~我首先在论坛上找到了大佬们的grafana教程,然而时间久远,基本都是18年前后,而且居然用的是influxDB做中间件,不做额外设置的话不会数据冗余嘛?


这里还得跟不了解grafana的朋友解释下,grafana只是一个画图应用,需要把数据源接入。然而HA默认使用sqlite作为数据库,这不是grafana支持的数据源,所以需要做个转化(类似你买了港行的PS5,需要买个转接头才能插电使用)。


我翻了论坛所有关于grafana的帖子,基本上都是用influxDB作为中间件(转化器)。我个人认为哈,influxDB本身是不错的时间序列数据库,做一些event、log存储非常好用,但并非home-assistant数据接入grafana的最优解。原因如下:


1. 上边提到了数据冗余问题,influxDB会把home-assistant数据接入后再存储一份,如果你不设置保留策略,磁盘占用空间会越来越大。
2. home-assistant数据更偏向于metric而非event、log
3. influxDB需要一定的SQL基础,完全不懂的朋友使用起来学习成本偏高


那有没有方便配置、易于使用、稳定可靠的方案呢?

微信截图_20221212172234.png

楼主首推Prometheus(普罗米修斯) + Grafana,理由也是三点:

1. Prometheus内置的时间序列数据库默认是滚动15天保存的,不用担心数据存满
2. 针对metric进行处理,更适配home-assistant
3. prometheus独有的Prom SQL,对于SQL完全不懂的人,学习成本更低(个人观点)


当然了Prometheus还有很多其他优点,比如说pull/push两种方法均可采集数据,灵活性高;比如说作为云原生项目,利用各类exporter,监控容器、服务方便易用。后续我会出些教程,分享如何轻松将openwrt、esxi、nas、云服务器甚至是docker等监控信息轻松接入。本篇主要分享在当前时间(2022年底),如何安装配置grafana,并将其接入HA。


废话时间结束,下一楼我们转入正题~


评分

参与人数 10金钱 +98 HASS币 +20 收起 理由
KevinYAN + 5 高手,这是高手!
carrot8848 + 5 论坛有你更精彩!
KNX-xdd50 + 5 膜拜大神!
forever2021 + 5 感谢楼主分享!
unixcs + 4 高手,这是高手!
Ari + 2 大哥,喝冰阔落
+ 20 + 20 高手,这是高手!
dscao + 20 论坛有你更精彩!
jjcs + 12 在下对你的景仰犹如滔滔长江之水,连绵不绝.
neroxps + 20 我来瀚思就为看你!

查看全部评分

回复

使用道具 举报

0

主题

10

回帖

180

积分

注册会员

积分
180
金钱
170
HASS币
0
发表于 2024-7-18 12:04:13 | 显示全部楼层
shenrc 发表于 2024-7-17 21:20
大佬们,你们的docker版会出现这样的问题吗?

解决了,修改grafana的配置文件allow_embedding,改为true就允许被嵌入了
回复

使用道具 举报

0

主题

10

回帖

180

积分

注册会员

积分
180
金钱
170
HASS币
0
发表于 2024-7-17 21:20:48 | 显示全部楼层
大佬们,你们的docker版会出现这样的问题吗?
微信截图_20240717211823.png
微信截图_20240717211912.png
回复

使用道具 举报

3

主题

18

回帖

163

积分

注册会员

积分
163
金钱
142
HASS币
0
发表于 2024-7-17 11:25:09 | 显示全部楼层
fay000fay 发表于 2024-7-17 09:13
我后来在docker里面安装了,可以用了。

哦哦,那我也这样弄算了
回复

使用道具 举报

14

主题

381

回帖

2156

积分

金牌会员

积分
2156
金钱
1761
HASS币
0
发表于 2024-7-17 09:13:21 | 显示全部楼层
smresultwithout 发表于 2024-7-16 21:20
请问解决了吗?同样问题

我后来在docker里面安装了,可以用了。
回复

使用道具 举报

3

主题

18

回帖

163

积分

注册会员

积分
163
金钱
142
HASS币
0
发表于 2024-7-16 21:20:48 | 显示全部楼层
fay000fay 发表于 2023-7-12 08:37
安装加载项失败
The command '/bin/bash -o pipefail -c ARCH="${BUILD_ARCH}" && if [ "${BUILD_ARCH}" =  ...

请问解决了吗?同样问题
回复

使用道具 举报

1

主题

6

回帖

64

积分

注册会员

积分
64
金钱
57
HASS币
0
发表于 2023-12-18 22:29:53 | 显示全部楼层
cookies-iframe-card 是什么卡片 怎么没找到 ?
回复

使用道具 举报

1

主题

6

回帖

64

积分

注册会员

积分
64
金钱
57
HASS币
0
发表于 2023-12-18 22:10:46 | 显示全部楼层
The command '/bin/bash -o pipefail -c ARCH="${BUILD_ARCH}" && if [ "${BUILD_ARCH}" = "aarch64" ]; then ARCH="arm64"; fi && apk --no-cache add python3=3.10.10-r0 py3-idna=3.3-r2 py3-certifi=2021.10.8-r0 py3-chardet=4.0.0-r3 py3-yaml=6.0-r0 py3-urllib3=1.26.9-r0 py3-requests=2.27.1-r0 && apk --no-cache add --virtual .builddeps py-pip=22.1.1-r0 && curl -J -L -o /tmp/prometheus.tar.gz "https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-${ARCH}.tar.gz" && adduser -s /bin/false -D -H prometheus && cd /tmp && tar -xvf /tmp/prometheus.tar.gz && mkdir -p /etc/prometheus && cp prometheus-${PROMETHEUS_VERSION}.linux-${ARCH}/promtool /usr/local/bin/ && cp prometheus-${PROMETHEUS_VERSION}.linux-${ARCH}/prometheus /usr/local/bin/ && cp -R prometheus-${PROMETHEUS_VERSION}.linux-${ARCH}/console_libraries/ /etc/prometheus/ && cp -R prometheus-${PROMETHEUS_VERSION}.linux-${ARCH}/consoles/ /etc/prometheus/ && rm -r prometheus-${PROMETHEUS_VERSION}.linux-${ARCH} && chown -R prometheus:prometheus /etc/prometheus && pip3 install --no-cache-dir --prefer-binary --find-links "https://wheels.home-assistant.io/alpine-3.15/${BUILD_ARCH}/" -r /opt/prometheus-configgen/requirements.txt && apk --no-cache del .builddeps && rm -f -r /tmp/*' returned a non-zero code: 8
回复

使用道具 举报

1

主题

6

回帖

64

积分

注册会员

积分
64
金钱
57
HASS币
0
发表于 2023-12-18 22:09:11 | 显示全部楼层
普罗米修斯安装失败
回复

使用道具 举报

1

主题

19

回帖

268

积分

中级会员

积分
268
金钱
248
HASS币
0
发表于 2023-8-9 23:01:06 | 显示全部楼层
感谢大佬的教程,感谢大佬带我提高B数
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-10-1 02:45 , Processed in 0.059722 second(s), 16 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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