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_server或reboot
·登录Zabbix Web端,依次点击【配置】-【主机】-【创建主机】
·输入ESXi主机IP信息,并选择其所属群组(选哪个无所谓,只是分组)
·选择模板,勾选以下三项
·再转到【宏】,创建三项:{$NAME}、{$PASSWORD}、{$URL},并输入对应的值
·点击添加,ESXi主机就添加好了,最好修改一下ESXi主机的自动发现规则,将间隔改短一些(秒)
·然后在主机列表中刷新几下,应该就会自动出现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数据源的配置页面,URL格式为:http://Zabbix服务器IP/api_jsonrpc.php
·在【Zabbix API details】中的【Username】【Password】输入登录Zabbix的账号密码,默认帐号为admin,密码为zabbix。选择正确的Zabbix版本。然后点击Save&Test,如果出现如下提示,则成功
·针对Zabbix,Grafana有可视化模板,只需要点击就可以查看,这里就不展示了。简单介绍一下如何在Grafana上使用Zabbix监测到的数据进行展示。首先创建新仪表板
·先选择数据来源为Zabbix,那么下面的Group、Host等都跟Zabbix上一样
·例如监测zabbix-227这台虚机的CPU使用情况
·在左侧的设置项中可以更细致的设置图形类型、图例样式、颜色等格式,此处不再赘述
·完成一个图表后直接点击左上角←,返回仪表版主页,可在右上角创建新的图表、保存仪表板,设置监测时间范围、自动更新间隔等
以上就是在Grafana上使用Zabbix监测到的ESXi数据创建可视化仪表板。Grafana本身除了可以做数据监控和数据统计之外,还有告警、自定义过滤器等功能,为IT运维、资源利用等方面为管理人员提供帮助,后续会出Grafana使用方面的文章,欢迎大家关注查看。