自动化安装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
|
#!/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
which
ntpdate
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-server httpd-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
.2
/rhel/6/x86_64/zabbix-agent-3
.2.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
.4
/rhel/6/x86_64/zabbix-agent-3
.4.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.点击下一步安装成功
本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1961525,如需转载请自行联系原作者