此文章仅供新问云图工作室内部人员交流学习使用。
此文档旨在便于内部组员学习部署Zabbix并且配置监控ESXI主机平台
04月09日第一版 编辑人:LRAltas
注:Zabbix平台本身是提供VMware平台的监控模板的,但是并没有提供警报模板,此部分需要自行调整。
实验环境
平台:ESXI-8.0
Zabbix虚拟机:CentOS9
Zabbix版本:7.0TLS
注意,官方给出的Zabbix-release目前是提供到7.4,但是暂且请不要下载最新版的7.4版本,截止到文档第一次编辑,官方只放出了软件包,安装完软件包之后进行部署时会出现找不到SQL初始化文件,所以我们使用7.0TLS即可
实验步骤
虚拟机准备
本实验环境中的虚拟机配置
系统:CentOS-9
vCPU:8个
内存:8G
磁盘:512G
NIC:1
安装模式:最小化安装
安装Zabbix官方源
官方提供并且支持CentOS9的安装源

你可以跟据自己的实际情况进行选择,也可以按照本文档提供的安装部署步骤来
我们选则的架构是CentOS9+Server,Frontend,Agent+MySQL8.0+Apache
我们首先要添加官方软件仓库
yum install https://repo.zabbix.com/zabbix/7.0/centos/9/x86_64/zabbix-release-latest.el9.noarch.rpm -y
#刷新yum源缓存
yum clean all && yum makecache
#安装一些基础的命令
yum upgrade -y && yum install wget vim git -y
安装必要的Zabbix组件
#安装必要的组件
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 -y
组件安装完毕后就OK了
Zabbix组件安装过程中可能存在的报错
[root@localhost ~]# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
Last metadata expiration check: 0:09:43 ago on Tue 08 Apr 2025 04:22:15 PM CST.
Error:
Problem: problem with installed package zabbix-web-deps-7.4.0-beta1.release1.el9.noarch
- package zabbix-web-deps-7.4.0-beta1.release1.el9.noarch from @System requires zabbix-web = 7.4.0-beta1.release1.el9, but none of the providers can be installed
- package zabbix-web-deps-7.4.0-beta1.release1.el9.noarch from zabbix-unstable requires zabbix-web = 7.4.0-beta1.release1.el9, but none of the providers can be installed
- package zabbix-web-deps-7.4.0-alpha1.release1.el9.noarch from zabbix-unstable requires zabbix-web = 7.4.0-alpha1.release1.el9, but none of the providers can be installed
- cannot install both zabbix-web-1:6.0.36-1.el9.noarch from epel and zabbix-web-7.4.0-beta1.release1.el9.noarch from @System
- cannot install both zabbix-web-7.4.0-alpha1.release1.el9.noarch from zabbix-unstable and zabbix-web-1:6.0.36-1.el9.noarch from epel
- cannot install both zabbix-web-7.4.0-beta1.release1.el9.noarch from zabbix-unstable and zabbix-web-1:6.0.36-1.el9.noarch from epel
- package zabbix-web-mysql-1:6.0.36-1.el9.noarch from epel requires zabbix-web = 1:6.0.36-1.el9, but none of the providers can be installed
- cannot install the best candidate for the job
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
此报错是因为版本不兼容,找不到所导致的,因为你添加了第三方库,如epel-release,epel库也提供的Zabbix,只不过是6.x版本的。该库启用时执行安装命令时dnf会从epel库里面寻找Zabbix相关组件,但是里面提供的与我们安装的官方的库版本不一样,进而导致了上述版本找不到的问题。当然,你要是没装,应该就不会有上述问题。
此处我们卸载安装的epel-release库即可
yum remove epel-release -y
然后继续执行安装相关组件即可
安装MySQL
安装MySQL官方软件仓库与软件
注:CentOS9官方给出的软件仓库其实是有MySQL_8.4的,但是Zabbix-7.0TLS在进行导入初始化数据库的时候会报语句兼容问题,需要8.0左右的版本,所以此处我们直接选择手动安装MySQL_8.0
#下载官方的MySQL8.0CM源
wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
yum install mysql80-community-release-el8-1.noarch.rpm -y
#安装完成后我们要禁用官方的mysql软件模块
yum module disable mysql
#禁用完成后我们安装MySQL官方源的软件包
yum install -y mysql-community-server --nogpgchec
#安装完成即可
配置MySQL
修改my.cnf文件
vim /etc/my.cnf
#添加如下内容
default-authentication-plugin=mysql_native_password
#源文件中好像有,你可以把源文件的相关部分取消注释,你也可以直接添加进去
#完成后我们重新启动MySQl并且添加MySQL开机自启
systemctl restart mysqld && systemctl enable mysqld
#该过程可能会比较慢
查看MySQL安装时生成的临时密码
grep 'temporary password' /var/log/mysqld.log
#查找的密码例如为:b6aeg+rg8e!Y
然后你可以使用以下命令进行MySQL的初始化
mysql_secure_installation
#注意,设置新密码时要使用强密码
做完之后我们登入MySQL创建Zabbix数据库
#登入数据库
mysql -u root -p
#创建Zabbix数据库
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
#创建Zabbix用户
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZABBIX_PASSWD';
#赋予权限
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
set global log_bin_trust_function_creators = 1;
#刷新
FLUSH PRIVILEGES;
exit;
导入初始化Zabbix数据库
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
请耐心,此过程会等很久,zabbix的数据库内容很多,当命令行再次出现并且无报错信息的时候即可进行下一步。
配置Zabbix
开启VMware相关监控
Zabbix官方提供VMware的相关平台监控模板
我们需要编辑zabbix-server.conf的配置
vim /etc/zabbix/zabbix_server.conf


上图内容在文件中应当是被注释掉的,你需要将他们取消注释并配置,或者是直接添加被注释掉的内容。
根据官方文档,以上部分参数含义如下
StartVMwareCollectors(0-250)
只有大于0时才能是该功能生效,意为预先配置的vmware监控实例数量。(具体的规则见官网)
VMwareCacheSize(256K-2G)
内存中维护的vmware集群结构的大小,建议80M。
VMwareFrequency(10-864000)
zabbix获取更新vmware集群结构的最小间隔时间,单位为分钟。
配置好了之后保存退出即可进行下一步
启动并在WebUI界面配置初始化Zabbix
systemctl enable zabbix-server
systemctl start zabbix-server
浏览器打开ZABBIXHOST_IP/zabbix
进行初始化配置Zabbix
初始化配置Zabbix
浏览器打开ZABBIXHOST_IP/zabbix


注意:如果你的这个选项中Chinese无法选择是灰色的,那么应该是你的zabbix服务器安装的时候没有选择中文,你需要自行安装中文语言。
yum reinstall glibc-common
yum install langpacks-zh_CN.noarch -y
#安装完成后刷新一下页面应该就好了







默认的账号密码是
#账号
Admin
#密码
zabbix

接入并监控ESXI主机
首先确认ESXi主机上的MOB功能是否开启

如果没有启动的话请启动它
之后我们要查看ESXi主机的UUID码
浏览器输入https://ESXI_HOST_IP/mob/?moid=ha-host&doPath=hardware.systemInfo

登陆之后即可查看设备UUID

之后我们回到Zabbix主页

创建主机





在这里,VMware Hypervisor模板就是监控的宿主机 VMware VMware Guest模板就是监控内部的虚拟机 VMware VMware模板就是监控宿主机和内部的虚拟机。
我们可以把这三个勾上




完成之后我们选择添加宏


#宏 #值
{$VMWARE.HV.UUID} 你拿到的机器UUID
{$VMWARE.PASSWORD} ESXi的root密码
{$VMWARE.URL} https://ESXI_HOST_IP/sdk,将ESXI_HOST_IP换成你的esxi主机ip
{$VMWARE.USERNAME} ESXI的账户(root)
填完之后类似于下图

随后可以点更新
更新好了就可以点击监控项



我们点击立即执行

等一段时间,点击左侧栏目中的监测,主机(可能要等很长时间来获取状态)
正常如果已经获取到了状态会有如下显示

能够获取主机状态




能够正常获取到状态即为成功
评论(0)
暂无评论