小fish 发表于 2019-1-19 14:06:24

一健安装Zabbix

  #!/bin/bash
  #定义变量
  Redh="\033[31m"
  Blueh="\033[36m"
  Yellow="\033[33m"
  Tails="\033[0m"
  Output="echo -e"
  Document=`dirname $0;pwd`
  dir=`echo $Document | sed s'/. //'`
  

  #加载函数库
  . /etc/init.d/functions
  

  #检查网络
  $Output --------------------$Blueh【 正在检查网络,请稍候 】$Tails--------------------
  echo
  ping www.baidu.com -c 3 &> /dev/null
  [ $? -eq 0 ] && action"网络正常" /bin/true || {
  action "你的网络不通,请修复你的网络,然后再进行安装" /bin/false
  exit 2
  }
  echo
  $Output --------------------$Redh【 准备安装Zabbix 】$Tails-------------------------
  sleep 3
  

  #下载yum
  rm -rf /etc/yum.repos.d/other
  mkdir /etc/yum.repos.d/other
  mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/other
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  yum clean all
  yum makecache
  

  #关闭防火墙和selinux
  service iptables stop
  setenforce 0
  chkconfig iptables off
  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  

  #修改主机名
  sed -i '2d' /etc/sysconfig/network
  sed -i '1a HOSTNAME=zabbix' /etc/sysconfig/network
  hostname zabbix
  

  #服务端安装LAMP环境
  yum install -y gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel php-mbstring php-bcmath mail
  

  #服务端配置LAMP使用环境
  sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.ini
  sed -i 's#max_execution_time = 30#max_execution_time = 300#g' /etc/php.ini
  sed -i 's#post_max_size = 8M#post_max_size = 32M#g' /etc/php.ini
  sed -i 's#max_input_time = 60#max_input_time = 300#g' /etc/php.ini
  sed -i 's/;mbstring.func_overload = 0/mbstring.func_overload = 2/g' /etc/php.ini
  service mysqld start;chkconfig mysqld on
  service httpd start;chkconfig httpd on
  

  #安装Zabbix server服务端
  groupadd -g 201 zabbix
  useradd -g zabbix -u 201 zabbix
  tar xf zabbix-2.2.2.tar.gz-C /usr/src/
  cd /usr/src/zabbix-2.2.2/
  ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
  make
  make install
  

  #添加Zabbix到系统服务文件
  sed -i '$a zabbix-agent    10050/tcp               #Zabbix Agent' /etc/services
  sed -i '$a zabbix-agent    10050/udp               #Zabbix Agent' /etc/services
  sed -i '$a zabbix-server   10051/tcp               #zabbix Trapper' /etc/services
  sed -i '$a zabbix-server   10051/udp               #zabbix Trapper' /etc/services
  

  #导入zabbix数据库
  mysqladmin -uroot password 'mysql_pass'
  mysql -uroot -pmysql_pass -e "create database zabbix default character set utf8;"
  mysql -uroot -pmysql_pass -e "grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';"
  mysql -uroot -pmysql_pass -e "flush privileges;"
  cd /usr/src/zabbix-2.2.2/database/mysql/
  mysql -uzabbix -pzabbix zabbix < schema.sql
  mysql -uzabbix -pzabbix zabbix < images.sql
  mysql -uzabbix -pzabbix zabbix < data.sql
  

  #创建链接
  mkdir /var/log/zabbix
  chown zabbix.zabbix /var/log/zabbix
  ln -s /usr/local/zabbix/etc /etc/zabbix
  ln -s /usr/local/zabbix/bin/* /usr/bin/
  ln -s /usr/local/zabbix/sbin/* /usr/sbin/
  

  #拷贝service启动脚本
  cp /usr/src/zabbix-2.2.2/misc/init.d/fedora/core/zabbix_* /etc/init.d/
  sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_server
  sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/init.d/zabbix_agentd
  

  #配置zabbix_server.conf服务端文件
  sed -i 's#LogFile=/tmp/zabbix_server.log#LogFile=/var/log/zabbix/zabbix_server.log#' /etc/zabbix/zabbix_server.conf
  sed -i 's#DBUser=root#DBUser=zabbix#' /etc/zabbix/zabbix_server.conf
  sed -i 's/# DBPassword=/DBPassword=zabbix/' /etc/zabbix/zabbix_server.conf
  service zabbix_server start
  

  #配置zabbix_agentd.conf文件 (监控server本身,如对其他服务器进行监控,配置文件相同)
  IP=`ifconfig | head -2 | tail -1 | awk '{print $2}' | awk -F':' '{print $2}'`
  sed -i 's#LogFile=/tmp/zabbix_agentd.log#LogFile=/var/log/zabbix/zabbix_agentd.log#' /etc/zabbix/zabbix_agentd.conf
  sed -i "s/Server=127.0.0.1/Server=127.0.0.1,$IP/" /etc/zabbix/zabbix_agentd.conf
  sed -i "s/ServerActive=127.0.0.1/ServerActive=$IP:10051/" /etc/zabbix/zabbix_agentd.conf
  sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/' /etc/zabbix/zabbix_agentd.conf
  sed -i 's/Hostname=Zabbix server/Hostname=Zabbix/' /etc/zabbix/zabbix_agentd.conf
  sed -i 's$# EnableRemoteCommands=0$EnableRemoteCommands=1$' /etc/zabbix/zabbix_agentd.conf
  sed -i 's$# Include=/usr/local/etc/zabbix_agentd.conf.d/$Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/$' /etc/zabbix/zabbix_agentd.conf
  service zabbix_agentd start
  

  #拷贝网页文件到apache目录
  cp /usr/src/zabbix-2.2.2/frontends/php/ /var/www/html/zabbix -r
  chown -R apache.apache /var/www/html/zabbix
  

  #设置zabbix开机启动
  chkconfig --add zabbix_server
  chkconfig --add zabbix_agentd
  chkconfig zabbix_agentd on
  chkconfig zabbix_server on
  

  #配置邮件发送
  cat >> /etc/mail.rc/etc/postfix/main.cf
页: [1]
查看完整版本: 一健安装Zabbix