#!/bin/bash ##适用于Centos7 ##创建zabbix数据库 function create_Db(){ read -ep "请输入您刚刚设置的Mysql密码:" mysqlpasswd echo "正在创建zabbix数据库" mysql -uroot -p${mysqlpasswd} -e "create database zabbix character set utf8 collate utf8_bin;" mysql -uroot -p${mysqlpasswd} -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';" mysql -uroot -p${mysqlpasswd} -e "flush privileges;" mysql -uroot -p${mysqlpasswd} -e "show databases;" echo "数据库创建完成" } ##创建zabbix用户组 function create_user(){ echo "正在创建zabbix用户组" groupadd zabbix -g 201 useradd -M -r -g zabbix -u 201 -s /bin/false zabbix } #编译安装zabbix function install_zabbix(){ echo "正在下载zabbix源文件" cd /usr/local/src wget https://pan.greekclub.net/shell/zabbix_install/zabbix-4.4.9.tar.gz echo "正在解压zabbix源文件" tar xf zabbix-* #####安装依赖 echo "正在安装Zabbix依赖环境" yum install -y telnet net-tools python-paramiko gcc gcc-c++ dejavu-sans-fonts python-setuptools python-devel sendmail mailx net-snmp net-snmp-devel net-snmp-utils freetype-devel libpng-devel perl unbound libtasn1-devel p11-kit-devel OpenIPMI unixODBC libevent-devel mysql-devel libxml2-devel libssh2-devel OpenIPMI-devel java-1.8.0-openjdk-devel openldap-devel curl-devel unixODBC-devel net-snmp-devel libssh2 libssh2-devel curl-devel echo "开始导入zabbix数据库" cd /usr/local/src/zabbix-*/database/mysql/ mysql -uzabbix -pzabbix zabbix < schema.sql mysql -uzabbix -pzabbix zabbix < images.sql mysql -uzabbix -pzabbix zabbix < data.sql echo "zabbix数据库导入完成" sleep 3 echo "开始编译安装Zabbix" cd /usr/local/src/zabbix-* ./configure --prefix=/usr/local --sysconfdir=/etc/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-libxml2 --with-unixodbc --with-net-snmp --with-ssh2 --with-openipmi --with-ldap --with-libcurl --with-icon make && make install sleep 3 echo "开始编译Fping" cd /root wget http://www.fping.org/dist/fping-3.13.tar.gz tar -zxvf fping-3.13.tar.gz cd fping-3.13 ./configure make && make install sleep 3 echo "开始配置zabbix环境" mkdir /var/log/zabbix chown -R zabbix.zabbix /var/log/zabbix/ cd /etc/zabbix rm -rf zabbix_server.conf wget https://pan.greekclub.net/shell/zabbix_install/zabbix_server.conf cp /usr/local/src/zabbix-*/misc/init.d/fedora/core5/zabbix_server /etc/init.d/ echo "正在设置zabbix开机自启动" chkconfig --add /etc/init.d/zabbix_server chkconfig zabbix_server on } #更改php.ini环境配置 function change_phpcfg(){ cd /usr/local/php/etc/ rm -rf php.ini wget https://pan.greekclub.net/shell/zabbix_install/php.ini echo "正在重启php" /bin/systemctl restart php-fpm.service } #设置网站环境 function web(){ mkdir -p /data/zabbix cp -a /usr/local/src/zabbix-*/frontends/php/* /data/zabbix/ cd /data/zabbix/conf wget https://pan.greekclub.net/shell/zabbix_install/zabbix.conf.php echo "正在设置网站根目录" cd /usr/local/nginx/conf/ rm -rf nginx.conf wget https://pan.greekclub.net/shell/zabbix_install/nginx.conf nginx -t echo "正在重启nginx服务..." /bin/systemctl restart nginx echo "正在启动zabbix服务端..." /etc/init.d/zabbix_server start } #解决中文乱码问题 function zh_cn(){ echo "正在解决中文乱码问题..." cd /data/zabbix/assets/fonts wget https://pan.greekclub.net/shell/zabbix_install/simhei.ttf cp DejaVuSans.ttf DejaVuSans.ttf.default rm -rf DejaVuSans.ttf cp simhei.ttf DejaVuSans.ttf rm -rm simhei.ttf chmod 644 DejaVuSans.ttf } #安装服务端代理 function install_agent(){ rpm -Uvh https://pan.greekclub.net/shell/zabbix_install/zabbix-release-4.4-1.el7.noarch.rpm yum install zabbix-agent -y systemctl start zabbix-agent systemctl enable zabbix-agent } #输出安装信息 function end_install(){ echo "Zabbix安装结束" ipAddr=$(ifconfig ${netCard}|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}') echo "zabbix登录网址:http://${ipAddr}" echo "登录用户名:Admin" echo "密码:zabbix,请及时更改初始密码" cd /root && rm -- "$0" } ###主安装程序 echo "############################################### ## ## ## Zabbix4.4.9一键安装脚本 ## ## ## ## --极客小屋 ## ###############################################" read -p "请按任意键继续!" anykey create_Db create_user install_zabbix change_phpcfg web zh_cn install_agent end_install