VMware ESXi专为运行虚拟机、最大限度降低配置要求和简化部署而设计,只需几分钟时间,便可完成从安装到运行虚拟机的全过程,部署简单,管理方便不过ESXi没有对宿主机和各虚拟机资源使用信息的整体展示,只是简单的展示了下CPU、内存和磁盘的使用情况,还不会自动刷新。我们可以借由Zabbix抓取实现,并使用Grafana创建更美观的可视化仪表板。

下面从Zabbix、Grafana的安装到两个系统的关联使用,来简单介绍一下具体的步骤。

安装Zabbix

·Zabbix是一个非常好用的系统监视、网络监视软件,但是因为部署复杂把一些人挡在门外。对于只想体验Zabbix的朋友,推荐使用xxshell论坛的一键部署脚本进行安装,适用于CentOS7.X/RedHat7.X部署:

yum install -y wget && wget --no-check-certificate -O zabbix_install.sh http://www.xxshell.com/download/sh/zabbix/zabbix4.4/zabbix_install.sh && chmod +x zabbix_install.sh && ./zabbix_install.sh 2>&1 | tee zabbix_install.sh.log

(原链接:https://www.xxshell.com/1644.html,图文步骤说明,此处不再赘述

·安装完成后自动启动,在浏览器访问Zabbix服务器IP,进行相关配置,参考xxshell链接


·在Zabbix服务器编辑Zabbix的配置文件(以下是使用上面的一键部署脚本的目录,如果通过其他方式安装,可以通过find查找配置文件目录)

vim zabbix-4.4.1/conf/zabbix_server.conf

修改以下项(仅是参考值,修改后并将每项前的#删除使其生效

StartVMwareCollectors=6(收集器数量,取决于要监控的VMware服务的数量)

VMwareCacheSize=50M(缓存大小)

VMwareFrequency=10(收集数据的间隔)

VMwarePerfFrequency=60(从单个VMware服务检索性能计数器统计信息之间的延迟)

VMwareTimeout=300(响应超时时间)

可以先按照以上的值修改,StartVMwareCollectors的值影响比较大


·重启Zabbix服务或重启服务器:systemctl restart zabbix_serverreboot


·登录Zabbix Web端,依次点击【配置】-【主机】-【创建主机】

使用Zabbix+Grafana监控ESXi环境_第1张图片

·输入ESXi主机IP信息,并选择其所属群组(选哪个无所谓,只是分组)

使用Zabbix+Grafana监控ESXi环境_第2张图片

·选择模板,勾选以下三项

使用Zabbix+Grafana监控ESXi环境_第3张图片

·再转到【宏】,创建三项:{$NAME}、{$PASSWORD}、{$URL},并输入对应的值

使用Zabbix+Grafana监控ESXi环境_第4张图片

·点击添加,ESXi主机就添加好了,最好修改一下ESXi主机的自动发现规则,将间隔改短一些(秒)

使用Zabbix+Grafana监控ESXi环境_第5张图片

·然后在主机列表中刷新几下,应该就会自动出现ESXi宿主机和里面的各个虚拟机了

Discover VMware hypervisors: ESXi宿主机名称:是ESXi宿主机的整体信息

Discover VMware VMs: 虚拟机名称:是ESXi中的虚拟机

·以上是在Zabbix里添加ESXi主机和虚拟机的步骤,之后就可以使用这些主机的监控项创建仪表板了。虽然Zabbix本身有可视化部分,但是美观、图表类型上是不如Grafana的,所以下面介绍一下Grafana的安装和使用。


安装Grafana

grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。看着跟Zabbix很像,不过Zabbix可以获取的数据源更多,可以监控到的项目更多,就是可视化部分不如Grafana,也不像Grafana可以创建具有阈值告警、交互式操作的仪表板。


·访问https://grafana.com/grafana/download,选择版本,然后根据对应系统输入命令安装。

·以CentOS/RedHat为例安装方式,输入以下命令自动安装

wget https://dl.grafana.com/oss/release/grafana-7.0.0-1.x86_64.rpm

sudo yum install grafana-7.0.0-1.x86_64.rpm

(如果系统没有wget命令,通过sudo yum -y install wget安装该命令)

(Grafana不会跟随系统启动,之后需要使用命令service grafana-server start启动)

·因为Grafana默认不能连接Zabbix,需要在Grafana服务器本地,通过输入以下命令安装:

grafana-cli plugins install alexanderzobnin-zabbix-app

·重启服务

systemctl restart grafana-server

·完成后,通过服务器IP:3000进行访问Grafana,默认账号密码都为admin

·进入【Configuration】-【Data Sources】-【Add data source】,此时里面就可以选择Zabbix了

使用Zabbix+Grafana监控ESXi环境_第6张图片

·进入Zabbix数据源的配置页面,URL格式为:http://Zabbix服务器IP/api_jsonrpc.php

使用Zabbix+Grafana监控ESXi环境_第7张图片

·在【Zabbix API details】中的【Username】【Password】输入登录Zabbix的账号密码,默认帐号为admin,密码为zabbix。选择正确的Zabbix版本。然后点击Save&Test,如果出现如下提示,则成功

使用Zabbix+Grafana监控ESXi环境_第8张图片

·针对Zabbix,Grafana有可视化模板,只需要点击就可以查看,这里就不展示了。简单介绍一下如何在Grafana上使用Zabbix监测到的数据进行展示。首先创建新仪表板

使用Zabbix+Grafana监控ESXi环境_第9张图片

·先选择数据来源为Zabbix,那么下面的Group、Host等都跟Zabbix上一样

使用Zabbix+Grafana监控ESXi环境_第10张图片

·例如监测zabbix-227这台虚机的CPU使用情况

使用Zabbix+Grafana监控ESXi环境_第11张图片

·在左侧的设置项中可以更细致的设置图形类型、图例样式、颜色等格式,此处不再赘述

·完成一个图表后直接点击左上角←,返回仪表版主页,可在右上角创建新的图表、保存仪表板,设置监测时间范围、自动更新间隔等

使用Zabbix+Grafana监控ESXi环境_第12张图片

使用Zabbix+Grafana监控ESXi环境_第13张图片

以上就是在Grafana上使用Zabbix监测到的ESXi数据创建可视化仪表板。Grafana本身除了可以做数据监控和数据统计之外,还有告警、自定义过滤器等功能,为IT运维、资源利用等方面为管理人员提供帮助,后续会出Grafana使用方面的文章,欢迎大家关注查看。