安装部署 zabbix5.0
# 设置环境变量和参数
export LANG=en_US.utf8
sed -i '1a export LANG=en_US.utf8' /etc/bashrc
IP=$(ip -4 a |grep ens33 |grep inet |awk '{print $2}' |cut -d/ -f1)
部署环境如下:
IP:192.168.121.30
系统:CentOS7.7
web:Nginx
php version:7.2
数据库:mariadb5.5
部署 zabbix 过程如下:
1. 关闭防火墙
systemctl disable firewalld --now
2. 设置 SELinux
vim 编辑 /etc/selinux/config 文件将 SELinux 类型改为 disabled 模式并重启生效
脚本格式为:
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0
3.从 zabbix 官网下载 zabbix 的源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
4.修改 zabbix 源,使其前端仓库开机自启
即使用 vim 编辑器将 /etc/yum.repos.d/zabbix.repo 中的 zabbix-frontend 前端的源改为开机自启
脚本格式为:
target1=`cat -n /etc/yum.repos.d/zabbix.repo | grep -A5 "zabbix-frontend" |grep "enabled" | awk '{print $1}'`
sed -i "${target1}s/0/1/" /etc/yum.repos.d/zabbix.repo
5.配置前端源,并安装下载依赖
yum -y install centos-release-scl
6.安装 server 服务
yum -y install zabbix-server-mysql
7.安装前端组件
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
8.安装并启动 mariadb 数据库
yum -y install mariadb-server
systemctl enable mariadb --now
9.进入 mariadb 并创建 zabbix 业务库、给 zabbix 用户授权(此处也可以先使用 mysql_secure_installation 命令给数据库初始化并给 root 数据库账号设置密码)
使用mysql命令进入数据库 shell 后输入以下命令
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
flush privileges;
可以将以上命令写至文件中作为 mysql 命令的输入
即为:
cat >zabbix.txt <<EOF
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
flush privileges;
exit
EOF
mysql <zabbix.txt
rm -f zabbix.txt
10.导入业务到 zabbix 库
path1=`rpm -ql zabbix-server-mysql |grep create.sql.gz`
zcat $path1 |mysql zabbix
11.查看你并配置 zabbix_server 连接数据库(zabbix_server.conf 配置文件中必须要有 DBName、DBUser、DBPassword 参数)
target2=`egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf -n |grep DBUser |cut -d: -f1`
sed -i "${target2}a DBPassword=zabbix" /etc/zabbix/zabbix_server.conf
12.修改 zabbix-nginx 相关配置文件(将 server_name 后面改为本机 IP)
path2=`rpm -ql zabbix-nginx-conf-scl`
sed -i "2,3s/#//; s/example.com/$IP/" $path2
13.配置 php(将 listen.acl_users=apache 后面加上 nginx,并把时区改为亚洲上海)
path3=`find /etc -name zabbix.conf |grep php`
target3=`grep -n "^listen.acl.users" $path3 |cut -d: -f1`
target4=`grep -n "timezone" path3 |cut -d: -f1`
sed -i -e "${target3}s/apache/apache,nginx/" -e "${target}s/; //" -e "${target4}s#=.*#= Asia/Shanghai#" $path3
14.重启服务并设置开机启动
systemctl restart zabbix-server rh-nginx116-nginx.service rh-php72-php-fpm.service
systemctl enable zabbix-server rh-nginx116-nginx.service rh-php72-php-fpm.service
执行成功后即可使用IP地址访问搭建好的 zabbix 页面,如下图所示: