zabbix簡易一鍵安裝腳本

腳本執(zhí)行時候要輸入的參數(shù):

  • Enter db_ip (172.16.%.%)> #輸入數(shù)據(jù)庫訪問授權(quán)ip范圍,例如172.16.%.%、192.168.%.%、192.168.1.%
  • Enter db_root_password > #輸入root用戶數(shù)據(jù)庫密碼
  • Enter zabbix_dbuser > 輸入zabbix用戶名
  • Enter zabbix_dbpassword >輸入zabbix用戶密碼
  • Enter zabbix_version (3.x).* > 輸入zabbix主版本號,例如:3.0、3.2
  • Enter zabbix_subversion ..(x) > 輸入zabbix子版本號,例如:3.0.28中的28
~]# vi zabbix_autoinstall.sh
#!/bin/bash
# zabbix 3.x一鍵安裝腳本 單機
# 環(huán)境 centos 7.4.1708 x86_64
 read  -p "Enter db_ip (172.16.%.%)> " dbip  #輸入數(shù)據(jù)庫訪問授權(quán)ip范圍
 read  -p "Enter db_root_password > " dbrootpw  #輸入數(shù)據(jù)庫密碼
 read  -p "Enter zabbix_dbuser > " dbuser  #輸入zabbix數(shù)據(jù)庫名
 read -p "Enter zabbix_dbpassword >" dbpassword #輸入zabbix數(shù)據(jù)密碼
 read -p "Enter zabbix_version (3.x).*  > " zabbix_version #輸入zabbix版本號
 read -p "Enter zabbix_subversion *.*.(x) > " zabbix_subversion #輸入zabbix子版本號

 IP=`ip add|grep global|awk -F'[ /]+' '{ print $3 }'|head -n 1` 

#1、設(shè)置
echo  '調(diào)整selinux、關(guān)閉防火墻'
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disable' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0
#安裝必要的軟件
echo  '正在安裝必要的軟件,請稍后................'

yum install -y epel-release &> /dev/null
yum install -y ntp wget vim net-tools openssh tree &> /dev/null

#修改阿里云源
mkdir -p /etc/yum.repos.d/remark && mv  /etc/yum.repos.d/* /etc/yum.repos.d/remark/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo
#清理緩存
yum clean all && yum makecache

echo  '修改成阿里源!'

#同步時間
[[ -f /usr/sbin/ntpdate ]] || { echo "install ntp";yum install ntp ntpdate -y &> /dev/null; }
#若沒NTP則安裝
/usr/sbin/ntpdate ntp6.aliyun.com
echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com  &> /dev/null" > /tmp/crontab
crontab /tmp/crontab

echo  '時間同步完成,正在升級軟件,請稍后................'

#升級所有包,不改變軟件設(shè)置和系統(tǒng)設(shè)置,系統(tǒng)版本升級,內(nèi)核不改變
yum -y upgrade &> /dev/null
        
 echo '------------執(zhí)行完畢---------' 

##########################################
#2 安裝
yum  install mariadb-server -y

echo 'skip_name_resolve = ON
innodb_file_per_table = ON
' >> /etc/my.cnf
echo '啟動數(shù)據(jù)庫服務(wù)'
systemctl start mariadb && systemctl enable mariadb

sleep 5
netstat -antp|grep mysqld
#mysql_secure_installation #初始化設(shè)置密碼,自動交互
[[ -f /usr/bin/expect ]] || { yum install expect -y; } #若沒expect則安裝
/usr/bin/expect << EOF
set timeout 30
spawn mysql_secure_installation
expect {
    "enter for none" { send "\r"; exp_continue}
    "Y/n" { send "Y\r" ; exp_continue}
    "password:" { send "$dbrootpw\r"; exp_continue}
    "new password:" { send "$dbrootpw\r"; exp_continue}
    "Y/n" { send "Y\r" ; exp_continue}
    eof { exit }
}
EOF
#測試
mysql -u root -p$dbrootpw -e "show databases;"
[ $? = 0 ] || { echo "mariadb初始化失敗";exit; }

#創(chuàng)建zabbix庫并授權(quán)
echo '創(chuàng)建數(shù)據(jù)庫、用戶授權(quán)'
mysql -u root -p$dbrootpw -e "
CREATE DATABASE zabbix CHARSET 'utf8';
GRANT ALL ON zabbix.* TO '$dbuser'@'$dbip' IDENTIFIED BY '$dbpassword';
GRANT ALL ON zabbix.* TO '$dbuser'@'127.0.0.1' IDENTIFIED BY '$dbpassword';
GRANT ALL ON zabbix.* TO '$dbuser'@'localhost' IDENTIFIED BY '$dbpassword';
FLUSH PRIVILEGES;
"

echo '安裝zabbix----------------------------------------------------------------------------------------------------------'
#安裝zabbix
yum -y install httpd php php-mysql php-mbsting php-gd php-bcmath php-ldap php-xml
sleep 5

if ! yum -y install https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-release-"$zabbix_version"-1.el7.noarch.rpm ; then yum -y install  https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-release-"$zabbix_version"-2.el7.noarch.rpm ; fi
yum clean all && yum makecache
sleep 5

wget https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-agent-"$zabbix_version"."$zabbix_subversion"-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-java-gateway-"$zabbix_version"."$zabbix_subversion"-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-server-mysql-"$zabbix_version"."$zabbix_subversion"-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-web-mysql-"$zabbix_version"."$zabbix_subversion"-1.el7.noarch.rpm
wget https://mirrors.aliyun.com/zabbix/zabbix/"$zabbix_version"/rhel/7/x86_64/zabbix-web-"$zabbix_version"."$zabbix_subversion"-1.el7.noarch.rpm
yum -y install *.rpm

#導(dǎo)入數(shù)據(jù)庫
gzip -d /usr/share/doc/zabbix-server-mysql-"$zabbix_version"."$zabbix_subversion"/create.sql.gz
mysql -u$dbuser -h127.0.0.1 -p$dbpassword zabbix  < /usr/share/doc/zabbix-server-mysql-"$zabbix_version"."$zabbix_subversion"/create.sql
 
#配置zabbix
sed -i '/^# DBHost=/c DBHost='$IP'' /etc/zabbix/zabbix_server.conf
sed -i '/^DBUser=/c DBUser='$dbuser'' /etc/zabbix/zabbix_server.conf
sed -i '/^# DBPassword=/c DBPassword='$dbpassword'' /etc/zabbix/zabbix_server.conf
sed -i '/^# JavaGateway=/c JavaGateway='$IP'' /etc/zabbix/zabbix_server.conf
sed -i '/^# JavaGatewayPort=10052/c JavaGatewayPort=10052' /etc/zabbix/zabbix_server.conf
sed -i '/^# StartJavaPollers=0/c StartJavaPollers=5' /etc/zabbix/zabbix_server.conf

sed -i '/php_value date.timezone*/c php_value date.timezone Asia/shanghai' /etc/httpd/conf.d/zabbix.conf

#配置zabbix-java-geteway
sed -i '/^# LISTEN_IP="0.0.0.0"/c LISTEN_IP="0.0.0.0"' /etc/zabbix/zabbix_java_gateway.conf
sed -i '/^# LISTEN_PORT=10052/c LISTEN_PORT=10052' /etc/zabbix/zabbix_java_gateway.conf
sed -i '/^TIMEOUT=3/c TIMEOUT=30' /etc/zabbix/zabbix_java_gateway.conf

#啟動服務(wù)并添加為開機啟動項
if  systemctl start zabbix-server.service && systemctl start httpd && systemctl start zabbix-agent && systemctl start zabbix-java-gateway ; then systemctl enable zabbix-server.service && systemctl enable httpd && systemctl enable zabbix-agent && systemctl enable zabbix-java-gateway
        ss -tnl
        echo ‘=================================安裝完成========================================’
        echo 'Please visit http://'$IP'/zabbix  to further configuration!!!!!'
else
        echo 'The install is fail!!!!!!!!'
fi

執(zhí)行安裝腳本
~]# . zabbix_autoinstall.sh
Enter db_ip (172.16.%.%)> 172.16.%.%    #授權(quán)訪問的ip地址范圍
Enter db_root_password > 123456           #數(shù)據(jù)庫root密碼
Enter zabbix_dbuser > zbxuser
Enter zabbix_dbpassword >123456
Enter zabbix_version (3.x).*  > 3.4
Enter zabbix_subversion *.*.(x) > 1         #這里輸入的是zabbix版本號為3.4.1
........
  • 整個過程大概需要10-20分鐘,最后出現(xiàn)安裝完成
‘=================================安裝完成========================================’
Please visit http://172.16.16.250/zabbix  to further configuration!!!!!

  • 用瀏覽器訪問提示URL進行下一步配置


    瀏覽器訪問url

    數(shù)據(jù)庫設(shè)置

    服務(wù)節(jié)點設(shè)置

    前端配置完成

    登錄
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容