Table of Contents
更新
20211109:文章使用的zabbix版本更新到5.4,数据库改用mariadb
前言
本文将在全新的centos8下部署安装zabbix5,使用mariadb数据库,nginx作为web服务器
准备工作
安装zabbix5会自动安装附带的nginx、php,但是没有数据库,所以先单独安装mariadb数据库。设置开机自动启动,并启动服务
dnf install mariadb mariadb-server -y
systemctl enable mariadb
systemctl start mariadb
建议执行mysql_secure_installation脚本进行初始化,设置数据库root密码等
mysql_secure_installation
假设数据库root密码设置为zabbix,测试一下能不能连接,没问题就退出
mysql -uroot -pzabbix
mysql> quit;
安装zabbix
安装zabbix的仓库
dnf -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
重建缓存
dnf makecache
安装zabbix server、web前端、代理、数据库构建脚本
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent zabbix-sql-scripts
接下来初始化zabbix的用户和数据库结构,先用root连接数据库,创建zabbix用户并配置相关权限,zabbix用户的密码也设置为zabbix
mysql -uroot -pzabbix
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
导入数据库结构
zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbi
配置zabbix server数据库连接,编辑/etc/zabbix/zabbix_server.conf
搜索DBPassword=
取消注释,改成数据库zabbix用户的密码,本例改成
DBPassword=zabbix
编辑php配置文件/etc/php-fpm.d/zabbix.conf
,修改时区为上海,记得取消注释
php_value[date.timezone] = Asia/Shanghai
编辑nginx配置文件/etc/nginx/conf.d/zabbix.conf
,配置监听端口,记得取消注释
listen 80;
server_name example.com;
如果上面用的是默认的80端口,还需要注释掉nginx主配置文件的默认server配置,否则访问会返回nginx默认页。
编辑nginx主配置文件/etc/nginx/nginx.conf
搜索listen 80 default_server
将这行和下一行注释掉,如下:
#listen 80 default_server;
#listen [::]:80 default_server;
在启动相关服务之前,还需要关闭selinux,否则zabbix-server会起不来
先临时关闭selinux
setenforce 0
然后编辑配置文件/etc/selinux/config
,把 SELINUX 设置为 disabled
SELINUX=disabled
启动相关服务,并设置开机自动启动
systemctl enable zabbix-server zabbix-agent nginx php-fpm
systemctl restart zabbix-server zabbix-agent nginx php-fpm
如果没有看到报错,那么相关服务就已经起来
如服务器开启防火墙,还需要配置放通相关端口
zabbix至少需要打开web访问的端口和用于主动监控的端口才能正常工作。如本例web使用默认的80端口,主动监控使用默认的10051端口
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 port port=10051 protocol=tcp accept'
firewall-cmd --reload
配置zabbix web前端
使用浏览器访问服务器地址http://server_ip
,如果一切正常,可以看到以下界面,直接下一步
确认所需的参数是否符合要求,然后下一步
配置数据库的地址、端口、用户名和密码,本例密码为zabbix
如果点下一步出现错误,把Database host修改成127.0.0.1
这里保持默认,直接下一步
检查一下安装参数,如果无误就下一步
注意这里可能会因为权限问题无法写入配置文件,那么根据网页的提示,下载配置文件,然后手动上传到服务器地址目录
如果没问题的话,会提示安装成功
到达登陆界面,使用默认用户名Admin和密码zabbix来登陆系统,到此zabbix5部署完成
发表回复