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
温馨提示:如无特殊说明,本站文章均为作者原创,转载请注明出处!