Rocky Linux 8通过脚本安装Zabbix6.0

查看系统版本

[root@Zabbix6 ~]# cat /etc/os-release 
NAME="Rocky Linux"
VERSION="8.7 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.7"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.7 (Green Obsidian)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-8"
ROCKY_SUPPORT_PRODUCT_VERSION="8.7"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"
[root@Zabbix6 ~]# 

设置好IP地址

[root@Zabbix6 ~]# hostname -I
172.16.30.120
[root@Zabbix6 ~]#

上传好中文字体

  • windows系统Fonts目录里。具体地址:C:\Windows\Fonts

  • 这里选择微软雅黑字体中的msyh.ttc

[root@Zabbix6 ~]# ls
anaconda-ks.cfg  msyh.ttc
[root@Zabbix6 ~]#

重点戏,上脚本

[root@Zabbix6 ~]# cat install_zabbix_6.0.sh
#!/bin/bash
#
#********************************************************************
#Author: xxx
#Date: 2022-06-28
#FileName: install zabbix server6.0.sh
#Description: The test script
#Copyright (C): 2022 All rights reserved
#********************************************************************

ZABBIX_VER=6.0
URL="mirror.tuna.tsinghua.edu.cn/zabbix"

MYSQL_HOST=localhost
MYSQL_ZABBIX_USER="zabbix@localhost"

MYSQL_ZABBIX_PASS='123456'
MYSQL_ROOT_PASS='123456'

FONT=msyh.ttc

ZABBIX_IP=`hostname -I|awk '{print $1}'`
GREEN="echo -e \E[32;1m"
END="\E[0m"

. /etc/os-release

color () {
        RES_COL=60
        MOVE_TO_COL="echo -en \\033[${RES_COL}G"
        SETCOLOR_SUCCESS="echo -en \\033[1;32m"
        SETCOLOR_FAILURE="echo -en \\033[1;31m"
        SETCOLOR_WARNING="echo -en \\033[1;33m"
        SETCOLOR_NORMAL="echo -en \E[0m"
        echo -n "$1" && $MOVE_TO_COL
        echo -n "["
        if [ $2 = "success" -o $2 = "0" ] ;then
                ${SETCOLOR_SUCCESS}
                echo -n $" OK "
        elif [ $2 = "failure" -o $2 = "1" ] ;then
                ${SETCOLOR_FAILURE}
                echo -n $"FAILED"
        else
                ${SETCOLOR_WARNING}
                echo -n $"WARNING"
        fi
        ${SETCOLOR_NORMAL}
        echo -n "]"
        echo
}

install_mysql () {
        [ $MYSQL_HOST != "localhost"] && return
        if [ $ID = "centos" -o $ID = "rocky" ] ;then
                VERSION_ID=`echo $VERSION_ID | cut -d . -f1`
                if [ ${VERSION_ID} == "8" ];then
                        yum -y install mysql-server
                        systemctl enable --now mysqld
                elif [ ${VERSION_ID} == "7" ];then
                        yum -y install mariadb-server
                        systemctl enable --now mariadb
                else
                        color "不支持的操作系统,退出" 1
                fi
        else
                apt update
                apt -y install mysql-server
                sed -i "/^bind-address.*/c bind-address = 0.0.0.0" /etc/mysql/mysql.conf.d/mysqld.cnf
                systemctl restart mysql
        fi
        mysqladmin -uroot password $MYSQL_ROOT_PASS
        mysql -uroot -p$MYSQL_ROOT_PASS <<EOF
set global log_bin_trust_function_creators = 1;
create database zabbix character set utf8 collate utf8_bin;
create user $MYSQL_ZABBIX_USER identified by "$MYSQL_ZABBIX_PASS";
grant all privileges on zabbix.* to $MYSQL_ZABBIX_USER;
quit
EOF
        if [ $? -eq 0 ];then
                color "MySQL数据库准备完成" 0
        else
                color "MySQL数据库配置失败,退出" 1
                exit
        fi
}

install_zabbix () {
        if [ $ID = "centos" -o $ID = "rocky" ] ;then
                VERSION_ID=`echo $VERSION_ID | cut -d . -f1`
                rpm -Uvh https://${URL}/zabbix/${ZABBIX_VER}/rhel/${VERSION_ID}/x86_64/zabbix-release-${ZABBIX_VER}-1.el${VERSION_ID}.noarch.rpm
                if [ $? -eq 0 ];then
                        color "YUM仓库准备完成" 0
                else
                        color "YUM仓库配置失败,退出" 1
                        exit
                fi
                sed -i "s#repo.zabbix.com#${URL}#" /etc/yum.repos.d/zabbix.repo
                if [[ ${VERSION_ID} == 8 ]];then
                        yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 zabbix-get langpacks-zh_CN
                else
                        yum -y install zabbix-server-mysql zabbix-agent2 zabbix-get
                        yum -y install centos-release-scl
                        rpm -q yum-utils || yum -y install yum-utils
                        yum-config-manager --enable zabbix-frontend
                        yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
                fi
        else
                color "非红帽系" 0
                wget https://${URL}/zabbix/${ZABBIX_VER}/ubuntu/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VER}-1+ubuntu${VERSION_ID}_all.deb
                if [ $? -eq 0 ];then
                        color "APT仓库准备完成" 0
                else
                        color "APT仓库配置失败,退出" 1
                        exit
                fi
                dpkg -i zabbix-release_${ZABBIX_VER}-1+ubuntu${VERSION_ID}_all.deb
                sed -i.bak "s#repo.zabbix.com#${URL}#" /etc/apt/sources.list.d/zabbix.list
                apt update
                apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2 zabbix-get language-pack-zh-hans
        fi
}

config_mysql_zabbix () {
        color "config_mysql_zabbix" 0
        if [ -f "$FONT" ] ;then
                mv /usr/share/zabbix/assets/fonts/graphfont.ttf{,.bak}
                cp "$FONT" /usr/share/zabbix/assets/fonts/graphfont.ttf
                color "字体替换完成" 0
        else
                color "缺少字体文件!" 1
        fi
        if [ $MYSQL_HOST = "localhost" ];then
                zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p$MYSQL_ZABBIX_PASS -h$MYSQL_HOST zabbix                
        fi
        sed -i -e "/.*DBPassword=.*/c DBPassword=$MYSQL_ZABBIX_PASS" -e "/.*DBHost=.*/c DBHost=$MYSQL_HOST" /etc/zabbix/zabbix_server.conf
        if [ $ID = "centos" -o $ID = "rocky" ];then
                if [[ ${VERSION_ID} == 8 ]];then
                        sed -i -e "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" -e "/.*upload_max_filesize.*/c php_value[upload_max_filesize] =20M" /etc/php-fpm.d/zabbix.conf
                        color "/etc/php-fpm.d/zabbix.conf修改完成" 0
                        systemctl enable --now zabbix-server zabbix-agent2 httpd php-fpm
                else
                        sed -i "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf                        
                        systemctl restart zabbix-server zabbix-agent2 httpd rh-php72-php-fpm
                        systemctl enable zabbix-server zabbix-agent2 httpd rh-php72-php-fpm
                fi
        else
                sed -i "/date.timezone/c php_value date.timezone Asia/Shanghai" /etc/apache2/conf-available/zabbix.conf
                chown -R www-data.www-data /usr/share/zabbix/
                systemctl enable zabbix-server zabbix-agent2 apache2
                systemctl restart zabbix-server zabbix-agent2 apache2
        fi
        if [ $? -eq 0 ];then
                echo
                color "ZABBIX-${ZABBIX_VER}安装完成!" 0
                echo "-----------------------------------------------"
                ${GREEN}"请访问:http://$ZABBIX_IP/zabbix"${END}
        else
                color "ZABBIX-${ZABBIX_VER}安装失败!" 1
                exit
        fi
}
install_mysql
install_zabbix
config_mysql_zabbix
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=10050-10052/tcp
firewall-cmd --permanent --add-port=162/udp
firewall-cmd --reload

执行脚本

[root@Zabbix6 ~]# chmod +x install_zabbix_6.0.sh
[root@Zabbix6 ~]# ./install_zabbix_6.0.sh
  • 等待几分钟,安装完成

  • 网址:http://ip/zabbix

  • 默认账号:Admin

  • 默认密码:zabbix

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注