很多小伙伴想学习zabbix,但是苦于没有环境,下面我在一台主机上通过部署虚拟机的方式来搭建zabbix环境来帮助大家学习。
随便找个电脑安装VMware wokstation,然后开启两个虚拟机,一个当zabbix server一个当zabbix agent。server来监控agent上的资源使用情况。
这里我用的镜像版本是centos 7.9。两个虚拟机要设置好网络,保证server 和 agent可以互相访问并可以访问外网。只要配置NAT模式就可以了:
没有获取到地址,要更改网络配置文件,通过dhcp获取。
[root@bogon /]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=561969f3-4453-400d-8f29-e1f5efab2cfe
DEVICE=ens33
ONBOOT=yes
配置好之后重启网卡
[root@bogon /]# systemctl restart network
两个虚拟机都开好后,下面我们在一台上布置zabbix server。 server上要安装以下环境:
数据库,用来存放监控的历史数据
web服务器,也就是nginx用来通过web页面进行访问
Zabbix server,就是zabbix这个软件,用来监控
安装mysql
# yum -y install yum-utils
安装repo:
# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装之前repo里没有mysql的安装源,安完之后:
启用57,禁用80
# yum-config-manager --disable mysql80-community
# yum-config-manager --enable mysql57-community
安装mysql
# yum install mysql-community-server
# systemctl start mysqld
# systemctl status mysqld
显示起来了
登录时候要初始密码,初始密码通过下面获得
# grep 'temporary password' /var/log/mysqld.log
[root@bogon /]# grep 'temporary password' /var/log/mysqld.log
2021-11-16T05:57:58.439679Z 1 [Note] A temporary password is generated for root@localhost: hwgt0lsNf*a?
修改密码:
# mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix2018!';
后面登录数据库用的都是新的密码
在mysql里创建一个叫zabbix的数据库
mysql> create database zabbix;
为本地的用户(zabbix)授权,能通过这个密码访问zabbix数据库
mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by 'Zabbix2018!';
mysql> show databases;
可以看到zabbix的数据库建立好了:
环境部署比较麻烦,坑比较多,后面我再接着码。。。
tips:有些命令比较长,不能复制到虚拟机上,可以本地开一个命令提示符窗口,ssh到这个虚拟机上这样就可以复制粘贴命令了。