shell一鍵部署Zabbix的實(shí)現(xiàn)步驟
上一期我們展示了一鍵部署Agent端zabbix提升業(yè)務(wù)效率,本期帶來一鍵部署zabbix的server端的服務(wù)腳本!
源碼參上
#!/usr/bin/bash
# **************************************
# CSDN: M喬木
# qq郵箱: 2776617348@qq.com
# 解釋器: 這是一個(gè)shell腳本
# **************************************
#聲明函數(shù)
function zabbix_S(){
#環(huán)境檢測(cè)
echo "--------------------------------------------------------"
echo "[1]開始檢測(cè)防火墻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)閉 請(qǐng)重啟機(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ù)庫(kù)并清理緩存
echo '[4]準(zhǔn)備安裝數(shù)據(jù)庫(kù),全程20秒左右,請(qǐng)耐心等待...'
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]正在啟動(dòng)mysql...'
systemctl start mysqld &>/dev/null
echo '[10]正在設(shè)置密碼,請(qǐng)稍后...'
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 '請(qǐng)輸入新密碼:' 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ù)庫(kù)
echo "[14]正在建立運(yùn)行數(shù)據(jù)庫(kù)..."
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ù)庫(kù)密碼為:admin"
echo "zabbix登錄數(shù)據(jù)庫(kù)密碼為: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ù)庫(kù)
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ù)請(qǐng)登錄瀏覽器安裝..."
echo "--------------------------------------------------------"
}
#主界面
zabbix_S
使用方法
touch zabbix-az.sh #新建一個(gè).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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一天一個(gè)shell命令 linux文本操作系列-wc命令詳解
這篇文章主要介紹了一天一個(gè)shell命令 linux文本操作系列-wc命令詳解,需要的朋友可以參考下2016-06-06
shell腳本實(shí)現(xiàn)批量測(cè)試局域網(wǎng)主機(jī)是否在線
這篇文章主要介紹了shell腳本實(shí)現(xiàn)批量測(cè)試局域網(wǎng)主機(jī)是否在線,效果是:主機(jī)在線顯示綠色,主機(jī)離線顯示紅色結(jié)果,需要的朋友可以參考下2014-12-12
Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)溫和方式重啟Centos系統(tǒng),本文腳本主要目的是用于重啟后臺(tái)比較重要的進(jìn)程,需要的朋友可以參考下2014-12-12
Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧
今天小編就為大家分享一篇關(guān)于Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03

