boxmoe_header_banner_img

欢迎来到萌姬神域,希望你能在这里找到你想要的东西

加载中

文章导读

CentOS-9-Stream部署Zabbix并且接入ESXI主机监控平台资源使用情况


avatar
lraltas 2025年9月14日 8

此文章仅供新问云图工作室内部人员交流学习使用。


此文档旨在便于内部组员学习部署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)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码