一、脚本文件
#!/bin/bash
#该脚本是自动安装zabix,本脚本需要root权限。并且保本服务器可以连接互联网
#创建时间2021-12-27
echo -e "\033[32m##############################################################\033[0m"
echo -e "\033[32m# 欢迎使用小汤zaiibx一键安装脚本!!! #\033[0m"
echo -e "\033[32m# 系统要求:centos7.x 内存2G+ 需连接外网 !!! #\033[0m"
echo -e "\033[32m##############################################################\033[0m"
read -p "请输入本机ip地址:" IP
#安装前检查
install_data=/var/log/zabbix
[ $UID -ne 0 ] && echo "需要管理员权限" && exit 1
#设置数据库密码
while true;
do read -p "请输入数据库密码:" password
[ -z $password ]&& echo "密码不能为空" && continue
read -p "请再次输入数据库密码:" password1
[ -z $password1 ]&& echo "密码不能为空" && continue
[ $password = $password1 ] && echo "密码设置成功" && break || echo "密码不一样"
done
#关闭selinux和配置防火墙
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable firewalld --now &>/dev/null
#zabbix安装
echo -e "\033[32m##############################################################\033[0m"
echo -e "\033[32m# 正在安装,请稍等\033[5;32m...\033[0m \033[32m #\033[0m"
echo -e "\033[32m##############################################################\033[0m"
sleep 2
zabbix_install () {
cp -r /etc/yum.repos.d/ yum.repos.d.bak
#rm -rf /etc/yum.repos.d/*
rpm -Uvh
sed -i 's###' /etc/yum.repos.d/zabbix.repo
yum clean all
#安装Zabbix server,agent
if !(yum install zabbix-server-mysql zabbix-agent -y); then
echo "Zabbix server,agent 安装失败"
exit 1
fi
#安装 Software Collections,便于后续安装高版本的 php,默认 yum 安装的 php 版本为 5.4 过低
yum install centos-release-scl -y
#启用 zabbix 前端源
sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/zabbix.repo
#安装 zabbix 前端和相关环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
#安装mariadb和mariadb-server包
yum -y install mariadb mariadb-server
[ $? -ne 0 ] && echo "mariadb安装失败请检查网络!!" && exit 1
#启动数据库并设置开机自启
systemctl enable mariadb --now
#设置数据库密码
mysqladmin -u root password "$password"
[ $? -ne 0 ]&&"echo 数据库密码设置失败" && exit 1
#初始化数据库
mysql -uroot -p$password -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -uroot -p$password -e "create user zabbix@localhost identified by '$password';"
mysql -uroot -p$password -e "grant all privileges on zabbix.* to zabbix@localhost;"
zcat /usr/share/doc/zabbix-server-mysql-5.0.19/create.sql.gz | mysql -uzabbix -p$password zabbix
#配置zabbix-server
sed -i "s/# DBPassword=/DBPassword=$password/" /etc/zabbix/zabbix_server.conf
sed -i 's/; php_value\[date\.timezone\] = Europe\/Riga/ php_value\[date\.timezone\] = Asia\/Shanghai/' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#启动Zabbix server和agent进程
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
#查看监听端口
}&>/dev/null
check_zabbix() {
#检查安装是否正确
echo -e "\033[32m##############################################################\033[0m"
echo -e "\033[32m# 正在检查,请稍等\033[5;32m...\033[0m \033[32m #\033[0m"
echo -e "\033[32m##############################################################\033[0m"
sleep 2
netstat -anltp | grep 3306 &>/dev/null
[ $? -ne 0 ] && echo "数据库安装失败请检查" && exit 1
curl $IP &>/dev/null
[ $? -ne 0 ] && echo "访问zabbix失败请检查配置" && exit 1
}
#调用
zabbix_install;check_zabbix
#netstat -an | grep LIS
#curl $IP
echo -e "\033[32m##############################################################\033[0m"
echo -e "\033[32m# 数据库名:zabbix #\033[0m"
echo -e "\033[32m# 数据库密码:$password #\033[0m"
echo -e "\033[32m# 网站目录:/var/www/html #\033[0m"
echo -e "\033[32m# Zabbix登录: #\033[0m"
echo -e "\033[32m# 安装日志文件:/var/log/$install_data #\033[0m"
echo -e "\033[32m##############################################################\033[0m"
二、添加执行权限及执行脚本
[root@gzy-centos shell]# vim zabbix.sh
[root@gzy-centos shell]# chmod +x zabbix.sh
[root@gzy-centos shell]# ./zabbix.sh
##############################################################
# 欢迎使用小汤zaiibx一键安装脚本!!! #
# 系统要求:centos7.x 内存2G+ 需连接外网 !!! #
##############################################################
请输入本机ip地址:192.168.52.249
请输入数据库密码:123
请再次输入数据库密码:123
密码设置成功
##############################################################
# 正在安装,请稍等... #
##############################################################
##############################################################
# 正在检查,请稍等... #
##############################################################
##############################################################
# 数据库名:zabbix #
# 数据库密码:123 #
# 网站目录:/var/www/html #
# Zabbix登录: #
# 安装日志文件:/var/log//var/log/zabbix #
##############################################################
三、浏览器访问
到此安装成功!!!