自动化安装zabbix脚本(3.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
<code>#!/bin/bash</code>
<code>#Date 2017/8/31</code>
<code>#mail [email protected]</code>
<code>[ $(</code><code>id</code> <code>-u) != </code><code>"0"</code> <code>] && </code><code>echo</code> <code>"Error: You must be root to run this script"</code> <code>&& </code><code>exit</code> <code>1</code>
<code>export</code> <code>PATH=</code><code>/usr/local/sbin</code><code>:</code><code>/usr/local/bin</code><code>:</code><code>/sbin</code><code>:</code><code>/bin</code><code>:</code><code>/usr/sbin</code><code>:</code><code>/usr/bin</code>
<code>sed</code> <code>-i </code><code>"s/SELINUX=enforcing/SELINUX=disabled/"</code> <code>/etc/selinux/config</code>
<code>setenforce 0</code>
<code>which</code> <code>ntpdate</code>
<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>/usr/sbin/ntpdate</code> <code>time1.aliyun.com</code>
<code> </code><code>echo</code> <code>"*/5 * * * * /usr/sbin/ntpdate -s time1.aliyun.com"</code><code>>></code><code>/var/spool/cron/root</code>
<code>else</code>
<code> </code><code>yum </code><code>install</code> <code>ntpdate -y</code>
<code>fi</code>
<code>clear</code>
<code>echo</code> <code>"##########################################"</code>
<code>echo</code> <code>"# Auto Install zabbix. ##"</code>
<code>echo</code> <code>"# Press Ctrl + C to cancel ##"</code>
<code>echo</code> <code>"# Any key to continue ##"</code>
<code>echo</code> <code>"(1) Install zabbix3.0"</code>
<code>echo</code> <code>"(2) Install zabbix3.2"</code>
<code>echo</code> <code>"(3) Install zabbix3.4"</code>
<code>echo</code> <code>"(4) EXIT"</code>
<code>read</code> <code>-p </code><code>"Please input your choice:"</code> <code>NUM</code>
<code>case</code> <code>$NUM </code><code>in</code>
<code>1)</code>
<code> </code><code>URL=</code><code>"http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm"</code>
<code> </code><code>VER=zabbix-3.0</code>
<code>;;</code>
<code>2)</code>
<code> </code><code>URL=</code><code>"http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm"</code>
<code> </code><code>VER=zabbix-3.2</code>
<code>3)</code>
<code> </code><code>URL=</code><code>"http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm"</code>
<code> </code><code>VER=zabbix-3.4</code>
<code>4)</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[41;37m You choice channel! \033[0m"</code> <code>&& </code><code>exit</code> <code>0</code>
<code>*)</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[41;37m Input Error! Place input{1|2|3|4} \033[0m"</code> <code>&& </code><code>exit</code> <code>1</code>
<code>esac</code>
<code>echo</code> <code>-e </code><code>"\033[32m You choice install $VER.Install\033[0m"</code>
<code>echo</code> <code>-e </code><code>"\033[5m Press any key to start install $VER... \033[0m"</code>
<code>read</code> <code>-n 1</code>
<code>TDIR=</code><code>/tools</code>
<code>IP=`</code><code>ifconfig</code> <code>eth0 | </code><code>grep</code> <code>"inet addr"</code> <code>| </code><code>awk</code> <code>-F</code><code>"[: ]+"</code> <code>'{print $4}'</code><code>`</code>
<code>yum remove php* -y</code>
<code>rpm -Uvh http:</code><code>//mirror</code><code>.webtatic.com</code><code>/yum/el6/latest</code><code>.rpm</code>
<code>ls</code> <code>/etc/yum</code><code>.repos.d</code><code>/webtatic</code><code>.repo</code>
<code> </code><code>yum -y </code><code>install</code> <code>`yum list|</code><code>grep</code> <code>php71w|</code><code>awk</code> <code>'{printf ("%s ",$1)}'</code><code>` --skip-broken</code>
<code> </code><code>sed</code> <code>-i </code><code>"s/;date.timezone =/date.timezone = Asia\/Shanghai/g"</code> <code>/etc/php</code><code>.ini </code>
<code> </code><code>sed</code> <code>-i </code><code>"s#`grep max_execution_time /etc/php.ini`#max_execution_time = 300#g"</code> <code>/etc/php</code><code>.ini</code>
<code> </code><code>#max_execution_time = 30</code>
<code> </code><code>sed</code> <code>-i </code><code>"s#`grep post_max_size /etc/php.ini`#post_max_size = 32M#g"</code> <code>/etc/php</code><code>.ini </code>
<code> </code><code>sed</code> <code>-i </code><code>"s#`grep max_input_time\ = /etc/php.ini`#max_input_time = 300#g"</code> <code>/etc/php</code><code>.ini </code>
<code> </code><code>sed</code> <code>-i </code><code>"s#`grep memory_limit /etc/php.ini`#memory_limit = 128M#g"</code> <code>/etc/php</code><code>.ini</code>
<code>service php-fpm start </code><code>/tmp/php-install</code><code>.log 2>&1</code>
<code>STAT=`</code><code>echo</code> <code>$?`</code>
<code>PORT=`</code><code>netstat</code> <code>-lntup|</code><code>grep</code> <code>php-fpm|</code><code>wc</code> <code>-l`</code>
<code>if</code> <code>[ $STAT -</code><code>eq</code> <code>0 ] && [ $PORT -</code><code>eq</code> <code>1 ];</code><code>then</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m PHP is install success! \033[0m"</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m PHP install file.please check /tmp/php-install.log \033[0m"</code>
<code>yum </code><code>install</code> <code>-y ntpdate mailx dos2unix vim zcat wget net-snmp-utils gcc gcc-c++ autoconf httpd libxml* mysql mysql-server httpd-manua</code>
<code>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 </code><code>clear</code>
<code>service mysqld start</code>
<code>groupadd zabbix -g 201 </code>
<code>useradd</code> <code>-g zabbix -u 201 -m -s </code><code>/sbin/nologin</code> <code>zabbix</code>
<code>rpm -ivh $URL</code>
<code>ls</code> <code>/etc/yum</code><code>.repos.d</code><code>/zabbix</code><code>.repo</code>
<code>ZAB=`</code><code>echo</code> <code>$?`</code>
<code>if</code> <code>[ ! -d $TDIR ];</code><code>then</code>
<code> </code><code>/bin/mkdir</code> <code>$TDIR && </code><code>cd</code> <code>$TDIR</code>
<code>if</code> <code>[ </code><code>"$VER"</code> <code>== </code><code>"zabbix-3.0"</code> <code>];</code><code>then</code>
<code> </code><code>yum </code><code>install</code> <code>-y zabbix-agent.x86_64 zabbix-get.x86_64 zabbix-server-mysql.x86_64 zabbix-web.noarch zabbix-web-mysql.noarch</code>
<code>elif</code> <code>[ </code><code>"$VER"</code> <code>== </code><code>"zabbix-3.2"</code> <code>];</code><code>then</code>
<code> </code><code>if</code> <code>[ -d $TDIR ];</code><code>then</code>
<code> </code><code>cd</code> <code>$TDIR</code>
<code> </code><code>else</code>
<code> </code><code>/bin/mkdir</code> <code>$TDIR && </code><code>cd</code> <code>$TDIR</code>
<code> </code><code>fi</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>for</code> <code>PAG </code><code>in</code> <code>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.</code>
<code>noarch.rpm </code><code>do</code>
<code> </code><code>wget -c --timeout=5 http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/3</code><code>.2</code><code>/rhel/6/x86_64/deprecated/</code><code>$PAG</code>
<code> </code><code>done</code>
<code> </code><code>wget -c --timeout=5 http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/3</code><code>.2</code><code>/rhel/6/x86_64/zabbix-agent-3</code><code>.2.7-1.el6.x86_64.rpm</code>
<code> </code><code>yum localinstall -y zabbix-server-mysql* zabbix-web-mysql* zabbix-agent zabbix-web*</code>
<code> </code><code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>
<code> </code><code>exit</code> <code>1 && </code><code>echo</code> <code>"Zabbix Softward install fail,Please check dirname /tools"</code>
<code> </code><code>fi</code>
<code>elif</code> <code>[ </code><code>"$VER"</code> <code>== </code><code>"zabbix-3.4"</code> <code>];</code><code>then</code>
<code> </code><code>for</code> <code>PAG </code><code>in</code> <code>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.</code>
<code> </code><code>wget -c --timeout=5 --tries=35 --user-agent="Mozilla</code><code>/5</code><code>.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit</code><code>/534</code><code>.</code>
<code>16 (KHTML, like Gecko)Chrome</code><code>/10</code><code>.0.648.204 Safari</code><code>/534</code><code>.16" http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/3</code><code>.4</code><code>/rhel/6/x86_64/deprecated/</code><code>$PAG </code><code>done</code>
<code> </code><code>wget -c --timeout=5 --tries=35 --user-agent="Mozilla</code><code>/5</code><code>.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit</code><code>/534</code><code>.16 (KHTM</code>
<code>L, like Gecko)Chrome</code><code>/10</code><code>.0.648.204 Safari</code><code>/534</code><code>.16" http:</code><code>//repo</code><code>.zabbix.com</code><code>/zabbix/3</code><code>.4</code><code>/rhel/6/x86_64/zabbix-agent-3</code><code>.4.0-1.el6.x86_64.rpm yum localinstall -y zabbix-*</code>
<code> </code><code>if</code> <code>[ $? -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>"Zabbix Softward install fail,Please check dirname /tools"</code> <code>&& </code><code>exit</code> <code>1</code>
<code> </code><code>echo</code> <code>"error zabbixi version"</code>
<code>mysql -uroot -e </code><code>"create database zabbix character set utf8;"</code>
<code>mysql -uroot -e </code><code>"grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"</code>
<code>mysql -uroot -e </code><code>"flush privileges;"</code>
<code>cd</code> <code>/usr/share/doc</code>
<code>MYSQLDIR=`</code><code>ls</code> <code>-l </code><code>/usr/share/doc/</code> <code>| </code><code>grep</code> <code>zabbix-server-mysql* | </code><code>awk</code> <code>'{print $9}'</code><code>`</code>
<code>cd</code> <code>$MYSQLDIR</code>
<code>zcat create.sql.gz | mysql -uroot zabbix</code>
<code>mysqladmin -uroot password </code><code>"mysqladmin"</code>
<code>cd</code> <code>/usr/share/</code>
<code>cp</code> <code>-r .</code><code>/zabbix/</code> <code>/var/www/html/zabbix</code>
<code>echo</code> <code>"DBPassword=zabbix"</code> <code>>> </code><code>/etc/zabbix/zabbix_server</code><code>.conf</code>
<code>service httpd start </code>
<code>service zabbix-server start </code>
<code>service zabbix-agent start </code>
<code>chkconfig httpd on </code>
<code>chkconfig mysqld on </code>
<code>chkconfig php-fpm on</code>
<code>chkconfig zabbix-server on </code>
<code>chkconfig zabbix-agent on</code>
<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>status ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>iptables -I INPUT -p tcp --dport 443 -j ACCEPT &&</code>
<code> </code><code>iptables -I INPUT -p tcp --dport 10051 -j ACCEPT &&</code>
<code> </code><code>iptables -I INPUT -p tcp --dport 10050 -j ACCEPT &&</code>
<code> </code><code>iptables -I INPUT -p tcp --dport 3000 -j ACCEPT &&</code>
<code>#iptables -I INPUT -p tcp --dport 3306 -j ACCEPT && </code>
<code> </code><code>service iptables save ></code><code>/dev/null</code> <code>2>&1</code>
<code> </code><code>/etc/init</code><code>.d</code><code>/iptables</code> <code>restart</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[32m iptables is stopd\033[0m"</code>
<code>STAT=`</code><code>/bin/ps</code> <code>-ef|</code><code>grep</code> <code>zabbix_server|</code><code>grep</code> <code>-</code><code>v</code> <code>grep</code><code>|</code><code>wc</code> <code>-l`</code>
<code>PORT=`</code><code>/bin/netstat</code> <code>-lntup|</code><code>grep</code> <code>zabbix_server|</code><code>wc</code> <code>-l`</code>
<code>if</code> <code>[ $STAT -</code><code>ne</code> <code>0 ] && [ $PORT -</code><code>ne</code> <code>0 ];</code><code>then</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[42;37m Zabbix$VER is Install Success,Username:Admin Password:zabbix \033[0m"</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[42;37m MySql Username:root Password:mysqladmin \033[0m"</code>
<code> </code><code>echo</code> <code>-e </code><code>"\033[42;37m rul:https://$IP/zabbix \033[0m"</code>
四、版本特性与脚本执行
升级PHP版本为7.1,可以安装最新Zabbix3.4
1.执行脚本如下:
<a href="https://s2.51cto.com/wyfs02/M02/05/9D/wKiom1moDWuyhZnuAAAw2nsrRXU838.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/A4/4E/wKioL1moDYPhbw2GAAARhUL7uzI769.png" target="_blank"></a>
2.执行完成如下:
<a href="https://s5.51cto.com/wyfs02/M01/A4/4E/wKioL1moDi6A05I2AAAkZMypHGk827.png" target="_blank"></a>
3.访问提示的URL进行访问:
<a href="https://s3.51cto.com/wyfs02/M02/A4/4E/wKioL1moDqyyx4z2AABEAS2D4t0644.png" target="_blank"></a>
4.点击Next setp
<a href="https://s3.51cto.com/wyfs02/M02/A4/4E/wKioL1moDzDixnYhAAFitB5zT7Y360.png" target="_blank"></a>
6.填写脚本安装完成提示的Password,点击安装
<a href="https://s5.51cto.com/wyfs02/M00/05/9D/wKiom1moEEOiCf2vAAEAxYC9S-k850.png" target="_blank"></a>
7.点击下一步
<a href="https://s2.51cto.com/wyfs02/M02/A4/4E/wKioL1moEH_CPU7DAAE621H5uT8804.png" target="_blank"></a>
8.点击下一步安装成功
<a href="https://s3.51cto.com/wyfs02/M02/05/9D/wKiom1moEOWTMvQJAAEJfn3_qR4894.png" target="_blank"></a>
本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1961525,如需转载请自行联系原作者