这篇文章可能有点长,但全部是干货,安装部署过程中,会遇到一些问题,对于linux还不够精通的我,只能找度娘慢慢解决,好在最终还是解决了。所以就整理记录一下,方便小白学习、交流,少走弯路。建议先收藏了或分享某圈,有空再慢慢看。



一、环境准备



之前给大家分享在虚拟机上安装linux系统,本期龙哥与大家分享一下,如何在linux系统上部署zabbix监控系统。


部署前,先确保虚拟机能正常上网以及物理机可以与虚拟机ping通。



为啥要确保正常上网?

答:因为部署过程中,需要下载更新包。



为啥物理机与虚拟机要互通?

答:因为部署完成后,就可以再物理机上的浏览器输入IP地址访问、管理。以及还可以通过CRT来登录linux系统,进行修改配置。







设置虚拟机能正常上网





1、把虚拟机网卡设置NAT模式

史上最详细的Zabbix监控系统安装部署过程(图文)_next



2、用linux系统上的浏览器打开网页,测试上网是否ok:

史上最详细的Zabbix监控系统安装部署过程(图文)_linux_02






测试电脑物理机与虚拟机是否联通了?





1、确认一下虚拟机的网卡获取的IP地址网段:

史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_03



2、用物理机上的VMware 8 网卡设置如下:

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_04


3、在物理机上ping一下虚拟机是否可以联通:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_05


验证没问题。


4、如果你不喜欢用linux自带的终端,联通后了,这时你就可以使用物理机上的SecureCRT了:


史上最详细的Zabbix监控系统安装部署过程(图文)_linux_06


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_07

史上最详细的Zabbix监控系统安装部署过程(图文)_linux_08




二、获取zabbix源码




1、到官方网确认版本的服务情况,这里我将选择“zabbix 4.0 LTS”版本。


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_09


2、获取zabbix包,有两种方法:

a、从官方网

https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm



史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_10


b、如也可以从清华大学开源软件镜像站获取

https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/8/x86_64/


史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_11


选择release,右键,复制此链接:

史上最详细的Zabbix监控系统安装部署过程(图文)_linux_12


https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm



三、部署步骤



1、接下来使用wget下载下来:


wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm


(手机看不全,可以左右滑动)


史上最详细的Zabbix监控系统安装部署过程(图文)_linux_13


2、安装

ls查看文件名

史上最详细的Zabbix监控系统安装部署过程(图文)_next_14



 rpm -ivh zabbix-release-4.0-2.el8.noarch.rpm


史上最详细的Zabbix监控系统安装部署过程(图文)_linux_15





 rpm -ql zabbix-release  //查看一下这个包里面有哪些文件。


史上最详细的Zabbix监控系统安装部署过程(图文)_linux_16


编辑一下zabbix.repo,把里面的地址修改成从清华园下载的地址


vim /etc/yum.repos.d/zabbix.repo


史上最详细的Zabbix监控系统安装部署过程(图文)_linux_17


把http://repo.zabbix.com

替换成https://mirrors.tuna.tsinghua.edu.cn/zabbix

使用如下命令进行一键替换即可:


:%s#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g



替换后:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_18


再把gpgcheck=1修改成0,也是可以用一键替换的命令:


gpgcheck是gpg验证是否开启的选项,1是开启,0是不开启,一般情况可以关掉。



%s#gpgcheck=1#gpgcheck=0#g



然后保存


:wq




3、安装zabbix服务端、zabbix-web前端



yum install zabbix-server-mysql zabbix-web-mysql -y


史上最详细的Zabbix监控系统安装部署过程(图文)_next_19

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_20



4、安装mariadb,创建zabbix库,授权zabbix用户



yum install mariadb-server.x86_64


史上最详细的Zabbix监控系统安装部署过程(图文)_next_21

史上最详细的Zabbix监控系统安装部署过程(图文)_linux_22


启动一下mariadb:


systemctl start mariadb.service




顺便设置一下,开机自启:


systemctl enable mariadb.service



接下来,对数据库进行安全初始化:


 mysql_secure_installation



一路选择y:

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_23



创建zabbix库:

记得指定utf8,如下命令:后面才可以支持中文。


create database zabbix character set utf8 collate utf8_bin;



对zabbix授权,设置密码为along@123:


 grant all on zabbix.* to zabbix@localhost identified by 'along@123';



史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_24


使用quit 退出数据库:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_25



导入zabbix表结构和初始数据:


导哪里的数据呢?可以查的:


 rpm -ql zabbix-server-mysql  | grep sql



史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_26


导入数据,并设置数据库用户名、密码:


zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -palong@123 zabbix



怎么确认有没有导入成功了?使用下面命令,检查zabbix库是否导入成功:


mysql zabbix -e 'show tables;'


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_27


5、配置启动zabbix-server:


vim /etc/zabbix/zabbix_server.conf



使用:‘/DBH’,搜索,看到如下几个,如果有注释,记得取消掉:


DBHost=localhost //或写127.0.0.1DBName=zabbixDBUser=zabbixDBPassword=along@123


史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_28


然后记得保存,退出。


:wq



启动zabbix-server,并设置开机自启


systemctl start zabbix-server




systemctl enable  zabbix-server




如果zabbix-server进程没进来,报错,不能链接数据库等,可以使用如下命令:



mysql -uroot -p -e "use zabbix;source /usr/share/doc/zabbix-server-mysql/create.sql;"



记得关掉selinux:


 vim /etc/selinux/config


史上最详细的Zabbix监控系统安装部署过程(图文)_php_29

把它改为disabled,然后保存,重启系统。


查看selinux状态:


getenforce


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_30



zabbix进程也起来了,如果出现页面打不开,拒绝访问:(没报错的话,跳过)

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_31



打开浏览器,输入:ip地址/zabbix


史上最详细的Zabbix监控系统安装部署过程(图文)_php_32


那么应该是防火墙端口的问题,执行如下命令即可:


firewall-cmd --add-port=80/tcp --permanentfirewall-cmd --query-port=80/tcpfirewall-cmd --reload



查询防火墙80端口是否放开:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_33


防火墙放开80端口:

史上最详细的Zabbix监控系统安装部署过程(图文)_php_34


重新加载一下:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_35


再测试一下,就发现可以打开了:

史上最详细的Zabbix监控系统安装部署过程(图文)_next_36




四、web页面安装




接下来,我们就可以在web安装一下:点击Next step

史上最详细的Zabbix监控系统安装部署过程(图文)_php_37


发现PHP存在一个时区问题,其他都是ok的,


我们到后台设置一下即可:


vim /etc/php-fpm.d/zabbix.conf



史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_38


取消注释,并改为Aisa/Shanghai这个时区,并保存:

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_39


重启一下,下面两条命令:


systemctl restart httpd


systemctl restart php-fpm.service



然后就发现解决了:

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_40


点击下一步:

史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_41


出现下面报错的,无法链接数据库:

Configure DB connection

Please create database manually, and set the configuration parameters for connection to this database. Press "Next step" button when done.

Unsupported charset or collation for tables: acknowledges


史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_42


解决办法:


create database zabbix character set utf8 collate utf8_bin;



修改一下php:


find /  -name 'zabbix.conf.php.exampl'  找到所在路径,cd到所在路径下mv zabbix.conf.php.example zabbix.conf.php #重命名文件vim zabbix.conf.php #修改正确的端口、账号及密码


[root@localhost ~]# cd  /usr/share/nginx/html/[root@localhost html]# lszabbix.conf.php[root@localhost html]# vim zabbix.conf.php [root@localhost html]#


史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_43

然后保存退出;


然后我是把zabbix_server.conf的DB端口也改成3306,取消注释:


vim /etc/zabbix/zabbix_server.conf


DBPort=3306


然后保存退出;




如果又继续报错:

Unable to determine current Zabbix database version,the table "dbversion"database version


史上最详细的Zabbix监控系统安装部署过程(图文)_next_44


发现zabbix-server服务状态没起来:

史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_45

史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_46


解决办法,输入下来命令:服务就起来


mysql -uroot -p -e "use zabbix;source /usr/share/doc/zabbix-server-mysql/create.sql;"



再web重新登录一下,发现解决了:

史上最详细的Zabbix监控系统安装部署过程(图文)_php_47

史上最详细的Zabbix监控系统安装部署过程(图文)_next_48



史上最详细的Zabbix监控系统安装部署过程(图文)_next_49


看到congratulation ,就部署完成了。开心!

史上最详细的Zabbix监控系统安装部署过程(图文)_next_50


史上最详细的Zabbix监控系统安装部署过程(图文)_php_51


默认账户名:Admin

密码:zabbix


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_52


都是英文菜单,如果看不习惯,可以点击右上角 小人物 图标:

史上最详细的Zabbix监控系统安装部署过程(图文)_linux_53


又报错:


You are not able to choose some of the languages, because locales for them are not installed on the web server.


史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_54




yum reinstall glibc-commonyum install langpacks-zh_CN.noarch


locale -a   //查看安装结果


‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_55‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


结果还是不行,原来zabbix默认把对中文的支持给关闭了,我们需要修改zabbix的php源文件. 修改站点根目录下include/locales.inc.php文件


接下来,我们搜索一下locales.inc.php在哪里?


find / -name 'locales.inc.php'



史上最详细的Zabbix监控系统安装部署过程(图文)_next_56



然后到根据目录,vim该文件:


 vim /usr/share/zabbix/include/locales.inc.php




史上最详细的Zabbix监控系统安装部署过程(图文)_linux_57



 dnf install glibc-common


史上最详细的Zabbix监控系统安装部署过程(图文)_mariadb_58


完成

史上最详细的Zabbix监控系统安装部署过程(图文)_rhel_59



locale -a | grep zh_CN


史上最详细的Zabbix监控系统安装部署过程(图文)_php_60

安装完成后,回到web页面,刷新,发现可以看到中文包了:


史上最详细的Zabbix监控系统安装部署过程(图文)_php_61

然后选中,update即可:


史上最详细的Zabbix监控系统安装部署过程(图文)_php_62


到这一步,zabbix监控系统就算部署完成了。后续再与大家分享zabbix相关的干货文章,今天就先到这了,欢迎大家一起学习,一起遇见更好的自己,做一个有技术追求的人。


建议网工们,还没玩过的zabbix的,也可以一起玩,多学东西总是好的。安装过程中如果又遇到问题,尽力学会自己去百度,找解决办法,也欢迎留言,一起讨论。

史上最详细的Zabbix监控系统安装部署过程(图文)_next_63

本文分享自微信公众号 - 释然IT杂谈