zabbix自动安装配置脚本
[root@localhost ~]# vim zabbix.sh
#############################################################
# File Name: zabbix.sh
# Author: 寻音
# E-mail: lnhxzwb@126.com
# Created Time: Fri 13 Apr 2018 07:47:23 AM CST
#==================================================================
#!/bin/bash
#提示信息
display()
{
echo "※※※※※※※※※※※※※※※※ <提示信息> ※※※※※※※※※※※※※※※※※※※ "
echo "※ 本环境基于Centos7系统 ※ "
echo "※ 可选zabbix3.2/zabbix3.4版本 ※ "
echo "※ 如果安装环境不同,请更改相关参数或手动安装 ※ "
echo "※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ "
}
zabbix_repo ()
{
cd /etc/yum.repos.d
cat <<EOF >zabbix.repo
[zabbix]
name=zabbix-repo
baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
}
#安装zabbix
install_zabbix()
{
yum -y install httpd &> /dev/null
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent &> /dev/null
ls /usr/sbin/zabbix_server&> /dev/null
}
#安装mysql
install_mysql ()
{
echo "正在安装mysql服务,请稍等....."
read -p "请选择安装数据库的类型(mariadb|mysql): " sql
if [ $sql == "mariadb" ];then
cd /etc/yum.repos.d
rm -rf zabbix.repo
yum -y install mariadb mariadb-server &> /dev/nul
if [ $? = 0 ];then
echo "mariadb server安装已经完成!"
#启动mysqld服务并设置开机自启
systemctl start mariadb
systemctl enable mariadb &> /dev/nul
else
echo "安装出现问题;请手动安装mariadb";exit
fi
elif [ ${sql} == "mysql" ];then
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7.rpm &> /dev/null
cd /etc/yum.repos.d
rm -rf zabbix.repo
yum -y install mysql-community-server &> /dev/null
if [ $? = 0 ];then
echo "mysql server安装已经完成!"
rm -rf mysql-community*.repo
#启动mysqld服务并设置开机自启
systemctl start mysqld
systemctl enable mysqld &> /dev/nul
echo
else
echo "安装出现问题;请手动安装mysql";exit
fi
else
echo "输入错误,请更改相关参数或手动安装"
fi
}
zabbix_mysql()
{
echo "初始化数据库,输入或修改root密码后,直接enter"
mysql_secure_installation
#创建zabbix库
read -p "请输入数据库root密码:" passwd
read -p "请输入zabbix的授权用户名:" user
read -p "请输入授权ip地址:" ip
read -p "请输入授权用户密码:" zpasswd
read -p "请输入创建zabbix库名:" zname
mysql -uroot -p${passwd} -e "create database ${zname} default character set utf8 collate utf8_bin;" &> /dev/null
mysql -uroot -p${passwd} -e "grant all on ${zname}.* to '${user}'@'${ip}' identified by '${zpasswd}';" &> /dev/null
#zabbix库测试连接
mysql -uroot -p${passwd} -e "show databases;" &> /dev/null
if [ $? = 0 ];then
echo "zabbix数据库创建完成"
else
echo "zabbix数据库创建失败,请手动检查!";exit
fi
#导入zabbix数据库
path=`ls /usr/share/doc/* | grep server-mysql|awk -F ":" '{print $1}'`
zcat ${path}/create.sql.gz | mysql -uroot -p${passwd} ${zname} &> /dev/null
#如果有相关表格说明导入成功
mysql -u${user} -p${zpasswd} -e "use ${zname};show tables" &> /dev/null
if [ $? = 0 ];then
echo "数据库导入成功"
else
echo "数据导入失败,请检查或手动设置";exit
fi
#修改zabbix_server.conf
path_ser=/etc/zabbix/zabbix_server.conf
egrep -v "^#|^$" ${path_ser} &> /dev/null
read -p "请输入server-IP": sIP
sed -i "s/#\ \DBHost=localhost/DBHost=${sIP}/" ${path_ser}
sed -i "s/DBName=zabbix/DBName=${zname}/" ${path_ser}
sed -i "s/DBUser=zabbix/DBUser=${user}/" ${path_ser}
sed -i "s/#\ \DBPassword=/DBPassword=${zpasswd}/" ${path_ser}
#修改zabbix.conf
path_zabbix=/etc/httpd/conf.d/zabbix.conf
sed -i "s/#\ \php_value date.timezone.*/php_value date.timezone Asia\/Shanghai/" ${path_zabbix}
systemctl restart httpd
systemctl enable httpd &> /dev/null
systemctl start zabbix-server
systemctl enable zabbix-server &> /dev/null
systemctl restart zabbix-server
if [ $? = 0 ];then
echo "HTTP/ZABBIX服务启动成功"
else
echo "HTTP/ZABBIX服务启动失败,请检查或手动设置";exit
fi
echo "zabbix配置完成,请打开http://ip/zabbix/setup.php进行安装"
echo "默认用户名Admin,密码zabbix"
echo "登陆首页http://ip/zabbix/index.php"
}
#安装zabbix-agent
install_agent ()
{
yum -y install zabbix-agent &>/dev/null
read -p "请输入server的ip:" sIP
read -p "请输入agent的ip:" aIP
path_agent=/etc/zabbix/zabbix_agentd.conf
sed -i "s/Server=127.0.0.1/Server=${sIP}/" ${path_agent}
sed -i "s/ServerActive=127.0.0.1/ServerActive=${sIP}/" ${path_agent}
sed -i "s/Hostname=127.0.0.1/Hostname=${aIP}/" ${path_agent}
#启动服务
systemctl enable zabbix-agent
systemctl start zabbix-agent
if [ $? = 0 ];then
echo "zabbix-agent 配置完成!"
else
echo "zabbix-agent 配置失败!"
exit
fi
}
display
yum repolist &> /dev/null
if [ $? = 0 ];then
echo "本环境yum源可用"
else
echo "本环境yum源不可用";exit
fi
read -p "请选择安装zabbix-server|zabbix-agent(server|agent):" service
if [ $service == "server" ] || [ $service == "zabbix-server" ] ;then
read -p "请选择安装zabbix-server的版本(3.2|3.4): " zabbix
if [ ${zabbix} == "3.2" ];then
echo "正在安装zabbix server,请稍等....."
zabbix_repo
sed -i 's/3.4/3.2/g' zabbix.repo
install_zabbix
if [ $? = 0 ];then
echo "zabbix3.2安装已经完成!"
else
echo "安装出现问题;请手动安装zabbix";exit
fi
install_mysql
zabbix_mysql
elif [ ${zabbix} == "3.4" ];then
#安装zabbix3.4的版本
echo "正在安装zabbix server,请稍等....."
zabbix_repo
install_zabbix
if [ $? = 0 ];then
echo "zabbix3.4安装已经完成!"
else
echo "安装出现问题;请手动安装zabbix";exit
fi
install_mysql
zabbix_mysql
else
echo "输入格式不对,请重新运行或者手动安装!";exit
fi
elif [ $service == "agent" ] || [ $service == "zabbix-agent" ];then
read -p "请选择安装zabbix-agent的版本(3.2|3.4): " agent
if [ $agent = 3.2 ];then
zabbix_repo
sed -i 's/3.4/3.2/g' zabbix.repo
install_agent
if [ $? = 0 ];then
echo "zabbix-agent3.2安装已经完成!"
else
echo "安装出现问题;请手动安装zzabbix-agent";exit
fi
elif [ $agent = 3.4 ];then
zabbix_repo
install_agent
if [ $? = 0 ];then
echo "zabbix-agent3.4安装已经完成!"
else
echo "安装出现问题;请手动安装zabbix-agent";exit
fi
else
echo "输入格式不对,请重新运行或者手动安装!";exit
fi
else
echo "输入格式不对,请重新运行或者手动安装!";exit
fi
温馨提示:如无特殊说明,本站文章均为作者原创,转载请注明出处!


