问题补充: 刚接触zabbix,在服务器上搭了server端,可以实现对自己电脑windows的监控,然后在本地装了个VMware虚拟机(red hat 6.5),无法获取到数据,有没有人这样成功过的?
Zabbix是可以监控监控VMware虚拟机
下面介绍下如何监控esxi上的虚拟机:
一、版本
exsi 6.5,
zabbix 4.0
二、操作步骤
1、修改zabbix-server的配置文件
[root@chaofeng ~]# vim /etc/zabbix/zabbix_server.conf
找到这几行并修改
StartVMwareCollectors=5
StartVMwareCollectors - 预先启动Vmware collector收集器实例的数量。此值取决于要监控的 VMware 服务的数量。在大多数情况下,这应该是:servicenum < StartVMwareCollectors < (servicenum * 2) 其中 servicenum 是 VMware 服务的数量。例如:如果您有 1 个 VMware 服务要将 StartVMwareCollectors 设置为 2,那么如果您有 3 个 VMware 服务,请将其设置为 5。请注意,在大多数情况下,此值不应小于 2,不应大于 VMware 数量的 2 倍服务。还要记住,此值还取决于 VMware 环境大小和 VMwareFrequency 和 VMwarePerfFrequency 配置参数。
VMwareFrequency=30
VMwareFrequency - 连接到VMware服务收集一个新数据的频率,默认为60秒,取值范围:10-86400。
VMwarePerfFrequency=30
VMwareCacheSize - 用于存储VMware 数据的缓存容量,默认为8M,取值范围:256K-2G
VMwareCacheSize=50M
VMwareCacheSize - 用于存储VMware 数据的缓存容量,默认为8M,取值范围:256K-2G。
VMwareTimeout=10
VMwareTimeout - VMware collector 等待VMware 服务响应的时间,默认为10秒,取值范围:1-300。
修改完毕后重启zabbix-server机器即可
2、开启exsi主机MOB功能
使用浏览器登陆exsi主机https://192.168.16.15,输入账户和密码进入系统。
打开 “管理--系统--高级设置--Config.HostAgent.plugins.solo.enableMob”,然后右键启用这个功能。
接下来访问URL https://192.168.16.15/mob,会弹出访问接口浏览器身份验证。
此时还是输入exsi主机的账户和密码即可。
通过验证后可以访问ManagedObjectReference页面,如果未开启Config.HostAgent.plugins.solo.enableMob(默认为False)将返回503状态码页面。
3、找到EXSI主机对应的UUID功能。
Zabbix将使用UUID唯一定位ESXi主机,因此需要先获得ESXi主机的UUID,访问https://192.168.16.15/mob/?moid=ha%2dhost&doPath=hardware%2esystemInfo,(我们url放在这里,因为找这个uuid非常难找。注意ip替换成你自己的IP)即可找到该主机的UUID并记录。
复制这个uuid,一会我们要使用。
4、在zabbix里面给exsi主机添加监控
点击“Creat Host”创建主机。把刚刚的uuid复制到主机名称“Host name”里面,否则会报错。
接下来是关联监控模板
这三个模板中:Template VM VMware监控模板应用于 VMware vCenter 和 ESXi Hypervisor监控。 Template VM VMware Hypervisor和Template VM VMware Guest模板由前者自动发现关联宿主机和虚拟机,通常不应该手动链接到单个主机。以上是官方文档中的说法,但是其他文章中,通常关联了其中两个。
接下来定义宏 micros,配置身份验证键值对
- {$URL} - VMware 服务 (vCenter or ESXi hypervisor) SDK URL (https://esxi_ip/sdk).
- {$USERNAME} - VMware 服务用户名
- {$PASSWORD} - VMware 服务{$ USERNAME}用户密码
最后点击update保存更新即可。
全部配置完成后,即可看到监控项信息
绘制一个graph,可以看到这样的
效果还不错。
如笔者描述:虚拟机安装位置并不清楚,举例两种情况吧
1. 通过VMware Workstation软件安装的虚拟机
2. 通过VMware vSphere套件中ESXi操作系统,再安装虚拟机
zabbix监控虚拟机
从 Zabbix 2.2.0 开始支持对 VMware 的监控。
支持 VMware vCenter 或 vSphere 版本最低为 4.1。
Zabbix 可以使用 low-level discovery 自动发现 VMware hypervisors 和 虚拟机,并根据事先定义的主机原型,为这些虚拟机建立 Host,添加监控。
Zabbix 中默认提供了几个模板,可以直接用来监控 VMware vCenter 或 ESX hypervisor。
如上,Zabbix获取虚拟机或者主机的信息是通过VMware API。
VMware WorkStation虚拟机
VMware WorkStation上安装虚拟机,一般通过该软件图形界面,直观方便的操作即可。但是要实现自动化的一下操作,我们还是需要了解其API的。VMware针对VMware WorkStation提供了VIX API,可对虚拟机和操作系统文件进行自动化的操作。
总结
如上所述,zabbix中提供的模板并不能监控VMware Station上安装虚拟机。但是我们可以通过在虚拟机操作系统安装agent的方式去监控,比较麻烦点。
用wgcloud监控系统,这个是夸平台的,当然也包括你的虚拟机
能,但一般不会放在一起。因为VMware比较大,越到后面越大!而我们需要给系统盘充足点的空间。系统运行才会流畅些
Zabbix监控数据主要两类: 历史数据:history相关表,history_uint表面查询设备监控项目平均值,即存储监控数据原始数。
别说虚拟机了,hypervisor esxi、物理机磁盘、温度、电压、主板所有东西都可以监控,而且都可以上生产。