mingche 发表于 2018-10-23 09:27:49

Zabbix之一键安装 Server && agent [tar]

#!/bin/bash  
# This is a script of auto install zabbix
  
# Copyright to jeffery Su
  
# Written on June 11,2014
  

  

  
# SET VARIABLES
  
PATH=/bin:/usr/bin:/sbin:/usr/sbin::/usr/local/bin:/usr/local/sbin;
  
export PATH
  

  
MYSQL_PWD="jefferySu"
  

  
# Check environment
  
function check_env {
  
echo "hello world !"
  
}
  

  
function lamp_ins {
  

  
   echo "Install lamp gcc ..."
  
   sleep1
  
   yum install -y httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysqlphp-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmathmysql-connector-odbc mysql-devel libdbi-dbd-mysql php-gd* libpng freetype libxml2 zlib wget gcc make
  

  
    if [[ $? != 0 ]]; then
  
          echo "error in the yum,stop..."
  
          exit 0
  
    fi
  

  
    echo "configuration after the installation...."
  
    sleep 1
  

  
    /bin/cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  
    sed -i '/DirectoryIndex/s/$/ index.php /' /etc/httpd/conf/httpd.conf
  
    echo "ServerName localhost:80" >> /etc/httpd/conf/httpd.conf
  
    /etc/init.d/httpd restart
  
    /etc/init.d/mysqld restart
  
    chkconfig httpd on
  
    chkconfig mysqld on
  

  
    # Configure mysql password
  
    mysqladmin -uroot password $MYSQL_PWD
  

  
}
  

  
function fping_ins {
  
   FPING_VER="fping-3.10"
  
   # Detecting the setup packages exits
  
   if [ -s ${FPING_VER}.tar.gz ];
  
   then
  
       echo "${FPING_VER}.tar.gz "
  
   else
  
       echo "Error: ${FPING_VER} not found!!!download now......"
  
       wgethttp://fping.org/dist/${FPING_VER}.tar.gz
  
   fi
  

  
   # Compile the major programmer
  
   tar zxf ${FPING_VER}.tar.gz -C /usr/local/src
  
   cd /usr/local/src/$FPING_VER
  

  
   ./configure
  

  
   if [[ $? != 0 ]]; then
  
         echo "error in the compilation,stop.."
  
         exit 0
  
   fi
  
   make &&make install
  

  
   # Add user
  
   groupadd zabbix
  
   useradd zabbix -g zabbix
  

  
   # Grant privileges
  
   chown root:zabbix /usr/local/sbin/fping
  
   chmod 4710 /usr/local/sbin/fping
  

  
}
  

  
function zabbix_ins {
  

  
   ZABBIX_VER="zabbix-2.2.3"
  
   ZABBIX_PATH=/var/www/html/zabbix
  
   # Detecting the setup packages exits
  
   if [ -s ${ZABBIX_VER}.tar.gz ];
  
   then
  
       echo "${ZABBIX_VER}.tar.gz "
  
   else
  
       echo "Error: ${ZABBIX_VER} not found!!!download now......"
  
       wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.3/zabbix-2.2.3.tar.gz
  
   fi
  

  
   # Prepare work
  
   yum -y install net-snmp-devel libcurl-devel OpenIPMI-devel openssl-devel
  
   groupadd zabbix >/dev/null
  
   useradd zabbix -g zabbix >/dev/null
  
   #yum install lr* -y
  

  
   # Compile the major programmer
  
   tar zxf ${ZABBIX_VER}.tar.gz -C /usr/local/src
  
   cd /usr/local/src/$ZABBIX_VER
  

  
   ./configure --prefix=/usr/local/zabbix --enable-server--enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
  
   if [[ $? != 0 ]]; then
  
         echo "error in the compilation,stop.."
  
         exit 0
  
   fi
  
    make install
  

  
   if [[ $? != 0 ]]; then
  
         echo "error in the compilation,stop.."
  
         exit 0
  
   else
  
      echo "compilation finish..."
  
   fi
  

  
   # Add zabbix services port
  
   /bin/cp /etc/services /etc/services.bak
  
   cat >> /etc/services/etc/zabbix/zabbix_server.conf
  
   /bin/cp /etc/zabbix/zabbix_agent.conf /etc/zabbix/zabbix_agent.conf.bak
  

  
   mkdir -p $ZABBIX_PATH
  
   /bin/cp -r /usr/local/src/$ZABBIX_VER/frontends/php/*$ZABBIX_PATH
  
   chown -R zabbix:zabbix $ZABBIX_PATH
  

  
   # Create start file
  
   /bin/cp /usr/local/src/$ZABBIX_VER/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
  
   /bin/cp /usr/local/src/$ZABBIX_VER/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
  

  
   sed -i 's#/usr/local#/usr/local/zabbix#' /etc/init.d/zabbix_server
  
   sed -i 's#/usr/local#/usr/local/zabbix#' /etc/init.d/zabbix_agentd
  

  

  
   /etc/init.d/zabbix_server start
  
   /etc/init.d/zabbix_agentd start
  

  
   # Start the zabbix service on boot
  
   chkconfig --add   zabbix_agentd
  
   chkconfig --add   zabbix_server
  
   chkconfig zabbix_server on
  
   chkconfig zabbix_agentd on
  

  
   # configure the php
  
   /bin/cp /etc/php.ini /etc/php.ini.bak
  
   sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/;s/post_max_size = 8M/post_max_size = 32M/;s/max_execution_time = 30/max_execution_time = 300/;s/;mbstring.func_overload = 0/mbstring.func_overload = 2/;s/max_input_time = 60/max_input_time = 300/' /etc/php.ini
  
/etc/init.d/httpdrestart
  

  

  
# Create database import data and grant privileges
  
   mysql -uroot -p$MYSQL_PWD -e "create database zabbix character set utf8"
  
   mysql -uroot -p$MYSQL_PWD -e "grant all privileges on zabbix.* to zabbix@localhost identified by '$MYSQL_PWD'"
  
   mysql -uroot -p$MYSQL_PWD -e "flush privileges"
  
   mysql -uroot -p$MYSQL_PWD zabbix < /usr/local/src/$ZABBIX_VER/database/mysql/schema.sql
  
   mysql -uroot -p$MYSQL_PWD zabbix < /usr/local/src/$ZABBIX_VER/database/mysql/images.sql
  
   mysql -uroot -p$MYSQL_PWD zabbix < /usr/local/src/$ZABBIX_VER/database/mysql/data.sql
  

  
echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  
      + all thing prepare ok! please do the last step:                      +
  
      + type $IP/`basename $ZABBIX_PATH` to configure...                  +
  
      + for example : http://host_IP or domain name/`basename $ZABBIX_PATH` +
  
      + dbname:zabbixdbuser=zabbix   dbpwd=jefferySu                     +
  
      +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  

  
}
  

  
# Method Call
  
#check_env
  
#lamp_ins
  
fping_ins
  
zabbix_ins


页: [1]
查看完整版本: Zabbix之一键安装 Server && agent [tar]