0

CentOS 8 系统宝塔面板Linux安装 Zabbix 5.2.3 监控

Zabbix是一个基于Web界面的企业级运维监控平台,部署Zabbix 5.2.3 前,建议关闭防火墙和SElinux,然后重启服务器。

#临时关闭防火墙
systemctl stop firewalld.service
#永久禁止关闭防火墙
systemctl disable firewalld.service
关闭SElinux
setenforce 0
vi /etc/selinux/config
#把SELNUX=enforcing换成SELINUX=disabled

首先需要新建一个zabbix的用户,连接SSH进入输入以下命令:

groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin

安装EPEL源:

yum -y install epel-release

安装编译Zabbix需要的各种依赖和组件:

yum -y install net-snmp-devel fping

下载Zabbix 5.2.3 源码,Zabbix 5.2.3 源码下载地址:https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.3.tar.gz 本地电脑上也下载一份,后面需要上传自带的数据库文件。

用xshell工具,将源码上传到home下的zabbix文件夹下

进入zabbix
cd /home/zabbix/
解压下载的文件
tar -zxvf zabbix-5.2.3.tar.gz
进入解压后的目录
cd zabbix-5.2.3
编译解压后的程序
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
安装编译后的文件
make install

下面开始建立zabbix的数据库,进入宝塔面板–》数据库–》phpmyadmin,进入phpmyadmin新建zabbix数据库,注意:数据库字符集一定要是utf8_bin

然后我们前面下载的源码里的/database/mysql目录找到如下三个文件:

按照顺序,选择对应的文件导入到zabbix数据库,然后点击执行。

在宝塔文件管理里面进入/usr/local/etc/目录,编辑zabbix_server.conf这个文件,找到以下

DBName=数据库名字zabbix
DBUser=数据库用户zabbix
DBPassword=数据库密码zabbix
DBSocket=/usr/local/mysql/mysql.sock
DBPort=3306

注意去掉DBPassword、DBSocket、DBPort前面的#

编辑完保存。然后找到/usr/local/etc/目录下的zabbix_agentd.conf这个配置文件,我们也编辑它:

Server=127.0.0.1这一项的127.0.0.1改成你自己的服务器IP,本地测试可以用本地电脑的IP地址。
比如:Server=127.0.0.1,192.168.159.128

然后在宝塔面板后台放行端口,zabbix使用10050和10051端口,包括80端口。

放行端口之后我们在SSH里启动zabbix的服务

zabbix_server
zabbix_agentd

将以下两行加入到/etc/rc.d/rc.local文件中,即可实现开机自启动

/usr/local/sbin/zabbix_server

/usr/local/sbin/zabbix_agentd

查看他们的运行状态

ps -ef | grep zabbix_server
ps -ef | grep zabbix_agentd

下面开始安装zabbix的Web页面,宝塔面板里创建一个网站(不需要数据库),PHP版本选择7.4吧,PHP8.0会 出现报错:Deprecated: Required parameter $type follows optional parameter $level in /include/triggers.inc.php on line 1268

将 /home/zabbix/zabbix-5.2.3/ui 文件复制到你刚建的网站下面,访问你的域名就进入了zabbix的WEB安装过程。这里我用了一个zabbix.defcon.cn二级域名没有进行互联网解析,通过修改本地电脑修改hosts(C:\Windows\System32\drivers\etc)文件来用,在hosts文件里加下面一行:

192.168.159.128 zabbix.defcon.cn

访问域名进入了zabbix的WEB安装过程,第一步是检测环境组件是否正常。

其中有个PHP的LDAP扩展不正常,忽视即可,不影响使用。如果后期需要用LADP认证登录的方式,可以安装LDAP扩展即可,登录宝塔面板后台,进行安装,如下图所示:

然后重启Nginx服务。

还有一个报错需要进入软件商店PHP-7.4设置,把max_input_time的值改成300

然后刷新重新访问域名进入安装

允许授权任意主机连接数据库,正式机可设置白名单。需要配置DB连接,不能连接到数据库,数据库连不上可参考此文:Navicat MySQL 数据库连接报:10060 "Unknow error" 错误

数据库建立完,记得在宝塔面板后台,点击数据库,同步所有,不然会报错。

下一步、下一步,地址host和端口port不要改,Name填写:zabbix

接下来会有个报错,意思是没有找到配置文件,我们把它提供的文件下载下来,传到网站的/conf/目录里面,打开域名,进入登录界面。

默认账号密码Admin、zabbix

报错 putenv() has been disabled for security reasons 错误,由于putenv()出于安全原因被禁用了。到宝塔面板|软件商店|PHP对应版本的设置中:禁用函数里面,删除putenv。

zabbix_server 服务起不来,提示:Zabbix server is not running

先用find / -name zabbix_server.log 找到zabbix服务端的日志位置,打开如下:

2231:20201227:152751.257 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' (2)
2231:20201227:152751.257 database is down: reconnecting in 10 seconds

先使用find / -name mysql.sock命令查找mysql.sock所在的路径是在/tmp/文件夹内,和上面报错信息/usr/local/mysql/mysql.sock这个路径不符,为此我们对mysql.sock采用软链接的方式去处理,执行以下命令:

mkdir /usr/local/mysql
ln -s /tmp/mysql.sock /usr/local/mysql/mysql.sock
/etc/rc.d/init.d/mysqld restart #重启数据库
   
微信 支付宝    

如果文章对您有帮助,欢迎打赏作者!

欢迎评论