342423 发表于 2017-9-1 10:31:41

zabbix3.0/3.2/3.4自动安装脚本

一、zabbix简介
    zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
二、zabbix特点
   1.企业级的、开源的、分布式
   2.灵活的告警机制、存储数据提供杰出的报告及图形
   3.通过内置的绘图方法实现监控数据实时绘图
   4.允许灵活地自定义问题阀值
   5.支持主动与被动方式(agent、snmp、ipmi、自定义脚本)
三、自动化安装zabbix(3.0/3.2)脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#!/bin/bash
#Date 2017/8/31
#mail xuel@anchnet.com
[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config
setenforce 0
whichntpdate
if [ $? -eq 0 ];then
    /usr/sbin/ntpdate time1.aliyun.com
    echo "*/5 * * * * /usr/sbin/ntpdate -s time1.aliyun.com">>/var/spool/cron/root   
else
    yum install ntpdate -y
    /usr/sbin/ntpdate time1.aliyun.com
    echo "*/5 * * * * /usr/sbin/ntpdate -s time1.aliyun.com">>/var/spool/cron/root   
fi
clear
echo "##########################################"
echo "#       Auto Install zabbix.            ##"
echo "#       Press Ctrl + C to cancel      ##"
echo "#       Any key to continue             ##"
echo "##########################################"
echo "(1) Install zabbix3.0"
echo "(2) Install zabbix3.2"
echo "(3) Install zabbix3.4"
echo "(4) EXIT"
read -p "Please input your choice:" NUM
case $NUM in
1)
    URL="http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm"
    VER=zabbix-3.0
;;
2)
    URL="http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm"
    VER=zabbix-3.2
;;
3)
    URL="http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm"
    VER=zabbix-3.4
;;
4)
    echo -e "\033[41;37m You choice channel! \033[0m" && exit 0
;;
*)
    echo -e "\033[41;37m Input Error! Place input{1|2|3|4} \033[0m" && exit 1
;;
esac
clear
echo -e "\033[32m You choice install $VER.Install\033[0m"
echo -e "\033[5m Press any key to start install $VER... \033[0m"
read -n 1
TDIR=/tools
IP=`ifconfig eth0 | grep "inet addr" | awk -F"[: ]+" '{print $4}'`
yum remove php* -y
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
ls /etc/yum.repos.d/webtatic.repo
if [ $? -eq 0 ];then
    yum -y install `yum list|grep php71w|awk '{printf ("%s ",$1)}'` --skip-broken
fi
if [ $? -eq 0 ];then
    sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
    sed -i "s#`grep max_execution_time /etc/php.ini`#max_execution_time = 300#g" /etc/php.ini
    #max_execution_time = 30
    sed -i "s#`grep post_max_size /etc/php.ini`#post_max_size = 32M#g" /etc/php.ini
    sed -i "s#`grep max_input_time\ = /etc/php.ini`#max_input_time = 300#g" /etc/php.ini
    sed -i "s#`grep memory_limit /etc/php.ini`#memory_limit = 128M#g" /etc/php.ini
fi
service php-fpm start /tmp/php-install.log 2>&1
STAT=`echo $?`
PORT=`netstat -lntup|grep php-fpm|wc -l`
if [ $STAT -eq 0 ] && [ $PORT -eq 1 ];then
    echo -e "\033[32m PHP is install success! \033[0m"
else
    echo -e "\033[32m PHP install file.please check /tmp/php-install.log \033[0m"
fi
yum install -y ntpdate mailx dos2unix vim zcat wget net-snmp-utils gcc gcc-c++ autoconf httpd libxml* mysql mysql-serverhttpd-manua
l mod_ssl mod_perl mod_auth_mysql mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel fping clear
service mysqld start
groupadd zabbix -g 201
useradd -g zabbix -u 201 -m -s /sbin/nologin zabbix
rpm -ivh$URL
ls /etc/yum.repos.d/zabbix.repo
ZAB=`echo $?`
if [ ! -d $TDIR ];then
      /bin/mkdir $TDIR && cd $TDIR
fi
if [ "$VER" == "zabbix-3.0" ];then
    yum install -y zabbix-agent.x86_64 zabbix-get.x86_64 zabbix-server-mysql.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch
elif [ "$VER" == "zabbix-3.2" ];then
    if [ -d $TDIR ];then
      cd $TDIR
    else
            /bin/mkdir $TDIR && cd $TDIR
    fi
    if [ $? -eq 0 ];then
      for PAG in zabbix-server-mysql-3.2.7-1.el6.x86_64.rpm zabbix-web-3.2.7-1.el6.noarch.rpm zabbix-web-mysql-3.2.7-1.el6.
noarch.rpm         do
            wget -c --timeout=5 http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/deprecated/$PAG
      done
      wget -c --timeout=5 http://repo.zabbix.com/zabbix/3. ... .7-1.el6.x86_64.rpm
      yum localinstall -y zabbix-server-mysql* zabbix-web-mysql* zabbix-agent zabbix-web*
      if [ $? -eq 0 ];then
            exit 1 && echo "Zabbix Softward install fail,Please check dirname /tools"
      fi
    fi
elif [ "$VER" == "zabbix-3.4" ];then
    if [ -d $TDIR ];then
      cd $TDIR
    else
            /bin/mkdir $TDIR && cd $TDIR
    fi
    if [ $? -eq 0 ];then
      for PAG in zabbix-server-mysql-3.4.0-1.el6.x86_64.rpm zabbix-web-3.4.0-1.el6.noarch.rpm zabbix-web-mysql-3.4.0-1.el6.
noarch.rpm         do
            wget -c --timeout=5 --tries=35 --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.
16 (KHTML, like Gecko)Chrome/10.0.648.204 Safari/534.16" http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/deprecated/$PAG      done
      wget -c --timeout=5 --tries=35 --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTM
L, like Gecko)Chrome/10.0.648.204 Safari/534.16" http://repo.zabbix.com/zabbix/3. ... .0-1.el6.x86_64.rpm      yum localinstall -y zabbix-*
      if [ $? -ne 0 ];then
            "Zabbix Softward install fail,Please check dirname /tools" && exit 1
      fi
    fi
else
    echo "error zabbixi version"
fi
if [ $? -eq 0 ];then
mysql -uroot -e "create database zabbix character set utf8;"
mysql -uroot -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql -uroot -e "flush privileges;"
fi
cd /usr/share/doc
MYSQLDIR=`ls -l /usr/share/doc/ | grep zabbix-server-mysql* | awk'{print $9}'`
cd $MYSQLDIR
zcat create.sql.gz | mysql -uroot zabbix
mysqladmin -uroot password "mysqladmin"
cd /usr/share/
cp -r ./zabbix/ /var/www/html/zabbix
echo "DBPassword=zabbix" >> /etc/zabbix/zabbix_server.conf
service httpd start
service zabbix-server start
service zabbix-agent start
chkconfig httpd on
chkconfig mysqld on
chkconfig php-fpm on
chkconfig zabbix-server on
chkconfig zabbix-agent on
/etc/init.d/iptables status >/dev/null 2>&1
if [ $? -eq 0 ];then
    iptables -I INPUT -p tcp --dport 443 -j ACCEPT &&
    iptables -I INPUT -p tcp --dport 10051 -j ACCEPT &&
    iptables -I INPUT -p tcp --dport 10050 -j ACCEPT &&
    iptables -I INPUT -p tcp --dport 3000 -j ACCEPT &&
#iptables -I INPUT -p tcp --dport 3306 -j ACCEPT &&
    service iptables save >/dev/null 2>&1
    /etc/init.d/iptables restart
else
    echo -e "\033[32m iptables is stopd\033[0m"
fi
clear
STAT=`/bin/ps -ef|grep zabbix_server|grep -v grep|wc -l`
PORT=`/bin/netstat -lntup|grep zabbix_server|wc -l`
if [ $STAT -ne 0 ] && [ $PORT -ne 0 ];then
    echo -e "\033[42;37m Zabbix$VER is Install Success,Username:Admin Password:zabbix \033[0m"
    echo -e "\033[42;37m MySql Username:root Password:mysqladmin \033[0m"
    echo -e "\033[42;37m rul:https://$IP/zabbix \033[0m"
fi




四、版本特性与脚本执行

升级PHP版本为7.1,可以安装最新Zabbix3.4
1.执行脚本如下:

2.执行完成如下:

3.访问提示的URL进行访问:

4.点击Next setp

5.脚本内PHP参数已经修改完成,直接点击Next setp
6.填写脚本安装完成提示的Password,点击安装

7.点击下一步

8.点击下一步安装成功


页: [1]
查看完整版本: zabbix3.0/3.2/3.4自动安装脚本