找回密码
 立即注册

微信扫码登录

搜索
查看: 43664|回复: 36

[新奇玩法] [更新1.0.0-6]ESXI 硬盘及CPU内存信息接入HA

[复制链接]

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
发表于 2018-5-5 14:49:12 | 显示全部楼层 |阅读模式
本帖最后由 neroxps 于 2018-5-6 18:14 编辑

esxi.jpg

前言

楼主是用小马 V5 主机,部署 ESXI 虚拟化,一块 mstat SSD 装虚拟系统和一块 3.5英寸 2T的硬盘做数据盘。

由于没有做冗余,比较担心硬盘挂了不能提前知道,希望利用 HA 的自动化功能来帮我监控硬盘的 smart 数据。

huex 大佬点拨,我写了个 shell。

利用 esxcli esxtop smartctl(第三方) 等命令获取 esxi 中的内存 CPU 还有硬盘的 smart 信息,将信息通过 jq 命令生成 json。

最后放入 esxi 的 http 根目录,那么 homeassistant 就可以通过  RESTful Sensor  的方式获取 esxi 中的 json 数据,组成 sensor。

使用方法

1. 开启 ESXI 的 SSH 连入。
2. 上传 monitoring-1.0.0-6.x86_64.vib 至 ESXI 存储内。
3. 运行 esxcli software acceptance set --level=CommunitySupported 将软件包接受级别改成社区
4. 运行 esxcli software vib install -v /vmfs/volumes/SSD2/monitoring-1.0.0-6.x86_64.vib -f 安装我做好的软件包,其中 SSD2 请修改为自己存储的名字。
5. 运行 ps -c |grep "monitoring_value_to_json.sh" | grep -v grep 如果回显有返回的话证明程序正常运行。

[root@esxi:~] esxcli software vib install -v /vmfs/volumes/SSD2/monitoring-1.0.0-6.x86_64.vib -f
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: Neroxps_bootbank_monitoring_1.0.0-6
   VIBs Removed: 
   VIBs Skipped:
[root@esxi:~] ps -c |grep "monitoring_value_to_json.sh" | grep -v grep
2815619  2815619  sh                                   /bin/sh /opt/monitoring-tools/monitoring_value_to_json.sh

更新

1. 先用 kill 停止脚本运行。
2. 再使用 esxcli software vib update -v /vmfs/volumes/SSD2/monitoring-1.0.0-6.x86_64.vib -f 更新插件。

[root@esxi:~] ps -c |grep "monitoring_value_to_json.sh" | grep -v grep | awk '{print $1}'| xargs kill
[root@esxi:~] esxcli software vib update -v /vmfs/volumes/SSD2/monitoring-1.0.0-6.x86_64.vib -f
Installation Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: Neroxps_bootbank_monitoring_1.0.0-6
   VIBs Removed: Neroxps_bootbank_monitoring_1.0.0-5
   VIBs Skipped: 

卸载

和更新一样,先 kill 再卸载。

[root@esxi:~] ps -c |grep "monitoring_value_to_json.sh" | grep -v grep | awk '{print $1}'| xargs kill
[root@esxi:~] esxcli software vib remove -n monitoring
Removal Result
   Message: Operation finished successfully.
   Reboot Required: false
   VIBs Installed: 
   VIBs Removed: Neroxps_bootbank_monitoring_1.0.0-6
   VIBs Skipped:

HA 配置

执行完以上安装过程后,你就可以通过  https://192.168.1.10/value.json 下载得到监控生成的 json 文件,这时候就可以参考 Template Sensor 编写 homeassistant 的配置了。

文末我会放上我的 home-assistant 配置作为参考。

更新日志

[1.0.0-6]

Added

  • 添加 .Memory.Used_Pct 字段。

Fixed

  • 将获取内存的方法从 esxtop 改为 vsish -e get /memory/comprehensive 大大提高内存获取速度。
  • 内存获取时间由 15分钟一次改为5秒一次,与 CPU 同步。
  • JSON Memory_Free_MByes 路径修改为 Memory.Free_GB,单位从 MB 改为 GB

源码

Github: https://github.com/neroxps/esxi_monitor_to_json



配置参考: esxi.yaml (11.66 KB, 下载次数: 47)

评分

参与人数 4金钱 +56 收起 理由
louis_lee + 16 感谢,来抄作业啦,借鉴了放esxi http根目.
antsunzj + 20 膜拜大神!我的也是小马v5 有没有办法读取.
咸味土豆 + 10 在下对你的景仰犹如滔滔长江之水,连绵不绝.
windgo + 10 膜拜大神!

查看全部评分

Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-5-17 20:46:21 | 显示全部楼层
咸味土豆 发表于 2018-5-17 19:39
我以为你会出syjjx说的那个教程....嘿嘿。

啥教程?????
Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-5-17 20:58:53 | 显示全部楼层
本帖最后由 neroxps 于 2018-5-17 21:00 编辑
咸味土豆 发表于 2018-5-17 20:49
这个:https://bbs.hassbian.com/thread-3715-1-1.html

我没搞定,因为用的hassio,需要升级依赖组件, ...

https://github.com/neroxps/qemux ... b/master/Dockerfile可以参考我的Dockerfile 来装组件就是了,一条命令而已, pip3 install -U pyVmomi



我在玩大方,玩完后面再写个 自定义 hassio homeassistant 的帖子吧。


Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-9-7 19:22:38 | 显示全部楼层
令狐鸣 发表于 2018-9-7 14:05
请教下大神有没有获取esxi CPU温度的方法?

非oem机器就别想了。
Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-9-17 16:00:11 | 显示全部楼层
yuyakk 发表于 2018-9-17 15:37
问下楼主:通过  https://192.168.1.10/value.json 下载得到监控生成的 json,我下载后,文件里什么都没有 ...

直接找到 monitoring_value_to_json.sh 脚本执行看看是什么问题?
Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-9-17 21:05:10 | 显示全部楼层
yuyakk 发表于 2018-9-17 18:53
[root@localhost:/opt/monitoring-tools] ls
jq                           smartctl
monitoring_value_t ...

加 sh -x 调试看看
Nero
回复

使用道具 举报

40

主题

3016

回帖

1万

积分

超级版主

Nero

积分
11152
金钱
8046
HASS币
182
 楼主| 发表于 2018-11-22 15:32:18 | 显示全部楼层
ahoge1993 发表于 2018-11-22 14:46
cpu负载可以做成图表的形式

json数据以有,你自己想做啥做啥
Nero
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-13 03:01 , Processed in 1.326491 second(s), 9 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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