天天看點

zabbix5.0一鍵部署腳本

作者:明日人生vlog

1、系統環境準備

1)、腳本适配環境CentOS7/8

2)、安裝前關閉selinux和firewall

2、腳本如下

#!/bin/sh
#author: cjm
#date: 20230517
ip=`ip addr |grep inet |egrep -v "inet6|127.0.0.1" |awk '{print $2}' |awk -F "/" '{print $1}'`
release=`cat /etc/redhat-release | awk '{print $4}' | awk -F '.' '{print $1}'`
printf "
#######################################################################
#                 歡迎使用Zabbix離線一鍵部署腳本                      #
#             腳本适配環境CentOS7/8、Zabbix5.0/5.2                    #
#             避免軟體包産生沖突建議使用純淨的作業系統進行安裝!      #
#######################################################################
"
echo "#######################################################################"
echo "#                                                                     #"
echo "#                  正在關閉SElinux政策及防火牆 請稍等~                #"
echo "#                                                                     #"
echo "#######################################################################"
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
systemctl stop firewalld  && systemctl disable firewalld
echo "#######################################################################"
echo "#                                                                     #"
echo "#           正在判斷系統環境并安裝相對應的yum源和軟體 請稍等~         #"
echo "#           (如果是CentOS 8 就安裝5.2,如果是7則安裝5.0)              #"
echo "#                                                                     #"
echo "#######################################################################"
if [ $release -eq '7' ];then
cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/\$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
echo "添加源gpgkey"
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
yum -y install mariadb-server centos-release-scl epel-release
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-agent vim 
elif [ $release -eq '8' ];then
echo "檢測您的機器為CentOS 8,可以安裝Zabbix 5.2"
cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/8/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
echo "添加源gpgkey"
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
dnf -y install mariadb-server zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent vim
fi
echo "#######################################################################"
echo "#                                                                     #"
echo "#                 正在啟動及配置Mariadb資料庫 請稍等~                 #"
echo "#                                                                     #"
echo "#######################################################################"
service mariadb start && service mariadb enable
while :; do echo
    read -p "設定Mysql資料庫root密碼(建議使用字母+數字): " Database_Password 
    [ -n "$Database_Password" ] && break
done

mysqladmin -u root password "$Database_Password"
echo "create database  zabbix default charset utf8 COLLATE utf8_bin;" | mysql -uroot -p$Database_Password
echo "grant all privileges on zabbix.* to zabbix@'localhost' identified by '$Database_Password';" | mysql -uroot -p$Database_Password
echo "flush privileges;" | mysql -uroot -p$Database_Password

echo "#######################################################################"
echo "#                                                                     #"
echo "#                 正在導入zabbix資料庫架構檔案,請稍等~               #"
echo "#                                                                     #"
echo "#######################################################################"
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p$Database_Password zabbix

echo "#######################################################################"
echo "#                                                                     #"
echo "#                 正在修改Zabbix配置檔案,請稍等~                     #"
echo "#                                                                     #"
echo "#######################################################################"
sed -i "s/# DBPassword=/DBPassword=$Database_Password/g" /etc/zabbix/zabbix_server.conf
if [ $release -eq '7' ];then
echo "php_value[date.timezone] = Asia/Shanghai" >> /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
elif [ $release -eq '8' ];then
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
fi

echo "#######################################################################"
echo "#                 安裝已經完成 請移步浏覽器,進行下一步操作           #"
echo "#                 登入位址為http://$ip/zabbix                         #"
echo "#                 資料庫密碼為$Database_Password,盡情享用吧!        #"
echo "#######################################################################"           

3、浏覽器中輸入:http://192.168.52.20/zabbix 進行測試

zabbix5.0一鍵部署腳本