shell一鍵部署Zabbix的實(shí)現(xiàn)步驟
更新時間:2024年02月19日 09:15:52 作者:M喬木
本文主要介紹了shell一鍵部署Zabbix的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
上一期我們展示了一鍵部署Agent端zabbix提升業(yè)務(wù)效率,本期帶來一鍵部署zabbix的server端的服務(wù)腳本!
源碼參上
#!/usr/bin/bash # ************************************** # CSDN: M喬木 # qq郵箱: 2776617348@qq.com # 解釋器: 這是一個shell腳本 # ************************************** #聲明函數(shù) function zabbix_S(){ #環(huán)境檢測 echo "--------------------------------------------------------" echo "[1]開始檢測防火墻Selinux..." f_w=`systemctl status firewalld | awk '/Active:/{print $2}'` s_l=`getenforce` #判斷是否關(guān)閉 沒關(guān)閉就結(jié)束運(yùn)行 if [ ${f_w} = "inactive" -a ${s_l} = "Disabled" ];then echo "[2]防火墻SeLinux已關(guān)閉..." sleep 1 echo "[3]正在飛速安裝zabbix中..." sleep 1 else echo "[2]防火墻SeLinux未關(guān)閉..." systemctl disable firewalld &>/dev/null sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config sleep 1 echo "[3]正在關(guān)閉..." sleep 1 echo "[4]防火墻SeLinux已關(guān)閉 請重啟機(jī)器生效..." echo "--------------------------------------------------------" exit 0 fi #安裝zabbix源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm &>/dev/null #安裝數(shù)據(jù)庫并清理緩存 echo '[4]準(zhǔn)備安裝數(shù)據(jù)庫,全程20秒左右,請耐心等待...' sleep 1 echo '[5]開始清理環(huán)境...' yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y &>/dev/null userdel -r mysql &>/dev/null rm -rf /etc/my* &>/dev/null rm -rf /var/lib/mysql &>/dev/null rm -rf /usr/bin/mysql &>/dev/null yum -y erase `rpm -qa | egrep "mysql|mariadb"` &>/dev/null echo '[6]正在下載mysqlyum源...' yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm &>/dev/null echo '[7]正在安裝mysql...' yum install -y mysql-community-server --enablerepo mysql57-community --disablerepo mysql80-community &>/dev/null yum -y groupinstall "Development Tools" &>/dev/null echo '[8]正在配置mysql...' yum -y install yum-utils &>/dev/null yum-config-manager --disable mysql80-community &>/dev/null yum-config-manager --enable mysql57-community &>/dev/null echo '[9]正在啟動mysql...' systemctl start mysqld &>/dev/null echo '[10]正在設(shè)置密碼,請稍后...' num_az=`awk '/temporary password/{p=$NF}END{print p}' /var/log/mysqld.log` echo 'validate-password=OFF' >> /etc/my.cnf systemctl restart mysqld &>/dev/null read -p '請輸入新密碼:' passwdx mysqladmin -uroot -p"$num_az" password "$passwdx" &>/dev/null echo "[11]安裝完成,密碼已設(shè)置完成為:$passwdx" echo "[12]密碼已保存到/mysql_passwd.txt目錄下" echo $passwdx > /mysql_passwd.txt yum clean all &>/dev/null && yum makecache fast &>/dev/null #安裝zabbix模塊 echo "[13]開始安裝zabbix..." yum -y install zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender centos-release-scl &>/dev/null yum -y install yum-utils &>/dev/null rpm -qa | grep yum-utils &>/dev/null if [ $? -eq 1 ];then sleep 1 yum -y install yum-utils &>/dev/null fi yum-config-manager --enable zabbix-frontend &>/dev/null yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl centos-release-scl &>/dev/null #建立運(yùn)行數(shù)據(jù)庫 echo "[14]正在建立運(yùn)行數(shù)據(jù)庫..." mysql -p"${passwdx}" -e 'create database zabbix character set utf8 collate utf8_bin;' &>/dev/null mysql -p"${passwdx}" -e "create user zabbix@localhost identified by 'admin';" &>/dev/null mysql -p"${passwdx}" -e 'grant all privileges on zabbix.* to zabbix@localhost;' &>/dev/null mysql -p"${passwdx}" -e 'set global log_bin_trust_function_creators = 1;' &>/dev/null mysql -p"${passwdx}" -e 'flush privileges;' &>/dev/null echo "[15]zabbix登錄數(shù)據(jù)庫密碼為:admin" echo "zabbix登錄數(shù)據(jù)庫密碼為:admin" >> /zabbix-mysql.txt zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p"admin" zabbix 2>/dev/null #關(guān)聯(lián)數(shù)據(jù)庫 echo "[16]正在改寫相關(guān)配置文件..." mysql -p"${passwdx}" -e 'set global log_bin_trust_function_creators = 0;' &>/dev/null echo "DBHost=localhost" >> /etc/zabbix/zabbix_server.conf echo "DBPassword=admin" >> /etc/zabbix/zabbix_server.conf echo "DBPort=3306" >> /etc/zabbix/zabbix_server.conf #關(guān)聯(lián)php sed -i '2s/^#//;3s/^#//' /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf sed -i '38,118d' /etc/opt/rh/rh-nginx116/nginx/nginx.conf sed -i 's/listen.acl_users = apache/listen.acl_users = apache,nginx/' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf sed -i '25d' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf echo 'php_value[date.timezone] = Asia/Shanghai' >> /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf #重啟服務(wù) echo "[17]正在重啟相關(guān)服務(wù)..." systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm &>/dev/null systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm &>/dev/null echo "[18]zabbix已部署 后續(xù)請登錄瀏覽器安裝..." echo "--------------------------------------------------------" } #主界面 zabbix_S
使用方法
touch zabbix-az.sh #新建一個.sh結(jié)尾的文件復(fù)制上面的源碼粘貼進(jìn)去 sh zabbix-az.sh #運(yùn)行剛才新建的腳本,根據(jù)提示完成部署安裝!
到此這篇關(guān)于shell一鍵部署Zabbix的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)shell一鍵部署Zabbix內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一天一個shell命令 linux文本操作系列-wc命令詳解
這篇文章主要介紹了一天一個shell命令 linux文本操作系列-wc命令詳解,需要的朋友可以參考下2016-06-06shell腳本實(shí)現(xiàn)批量測試局域網(wǎng)主機(jī)是否在線
這篇文章主要介紹了shell腳本實(shí)現(xiàn)批量測試局域網(wǎng)主機(jī)是否在線,效果是:主機(jī)在線顯示綠色,主機(jī)離線顯示紅色結(jié)果,需要的朋友可以參考下2014-12-12Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng),本文腳本主要目的是用于重啟后臺比較重要的進(jìn)程,需要的朋友可以參考下2014-12-12Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧
今天小編就為大家分享一篇關(guān)于Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03