zabbix安装
LiuSw Lv6

zabbix安装

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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
#!/bin/sh
process()
{
install_date="zabbix_install_$(date +%Y-%m-%d_%H:%M:%S).log"
printf "
#######################################################################
# 欢迎使用Zabbix一键部署脚本 #
# 脚本适配环境CentOS7+/Radhat7+、内存1G+ #
# 更多信息请访问 https://xxshell.com #
#######################################################################
"

while :; do echo
read -p "请输入Mysql数据库root密码: " Database_Password
[ -n "$Database_Password" ] && break
done

echo "#######################################################################"
echo "# #"
echo "# 正在安装常用组件 请稍等~ #"
echo "# #"
echo "#######################################################################"
yum clean all
yum install -y vim wget tar
echo "#######################################################################"
echo "# #"
echo "# 正在关闭SElinux策略 请稍等~ #"
echo "# #"
echo "#######################################################################"
setenforce 0
#临时关闭SElinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#永久关闭SElinux

echo "#######################################################################"
echo "# #"
echo "# 正在配置Firewall策略 请稍等~ #"
echo "# #"
echo "#######################################################################"
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=10051/tcp --permanent

firewall-cmd --reload
firewall-cmd --zone=public --list-ports
#放行TCP80、10050、10051端口
echo "#######################################################################"
echo "# #"
echo "# 正在安装Mariadb数据库 请稍等~ #"
echo "# #"
echo "#######################################################################"
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
echo "#######################################################################"
echo "# #"
echo "# 正在安装配置PHP环境及扩展 时间较长请稍等~ #"
echo "# #"
echo "#######################################################################"
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y php70w* --skip-broken
systemctl start php-fpm
systemctl enable php-fpm
echo "#######################################################################"
echo "# #"
echo "# 正在配置Apache服务 请稍等~ #"
echo "# #"
echo "#######################################################################"
systemctl start httpd
systemctl enable httpd
echo "#######################################################################"
echo "# #"
echo "# 正在创建Zabbix用户 请稍等~ #"
echo "# #"
echo "#######################################################################"
groupadd zabbix
useradd zabbix -g zabbix -s /sbin/nologin
echo "#######################################################################"
echo "# #"
echo "# 正在编译Zabbix软件 请稍等~ #"
echo "# #"
echo "#######################################################################"
yum install -y gcc libxml2-devel libevent-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel java-1.6.0-openjdk-devel --skip-broken
#安装Zabbix编译的软件包

#去官网下载编译安装的Zabbix:https://www.zabbix.com/download_sources
wget https://www.xxshell.com/download/sh/zabbix/zabbix4.4/zabbix-4.4.1.tar.gz
tar -xzvf zabbix-4.4.1.tar.gz
cd zabbix-4.4.1

./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--with-mysql=/usr/bin/mysql_config \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-java

make -j 2 && make install
#编译安装Zabbix
echo $?="Zabbix编译完成"

echo "#######################################################################"
echo "# #"
echo "# 正在配置Mariadb数据库 请稍等~ #"
echo "# #"
echo "#######################################################################"
mysqladmin -u root password "$Database_Password"
echo "---mysqladmin -u root password "$Database_Password""
#修改数据库密码

mysql -uroot -p$Database_Password -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_general_ci;"
echo $?="正在创建zabbix数据库"
#将创建数据的命令重定向到数据库中

mysql -uroot -p$Database_Password -e "use zabbix;"
echo $?="对zabbix数据库进行操作"
#将选中的命令重定向到数据库中

mysql -uroot -p$Database_Password zabbix < database/mysql/schema.sql
mysql -uroot -p$Database_Password zabbix < database/mysql/images.sql
mysql -uroot -p$Database_Password zabbix < database/mysql/data.sql
echo $?="对zabbix数据库进行操作"
#zabbix数据库导入

echo "#######################################################################"
echo "# #"
echo "# 正在配置Zabbix软件 请稍等~ #"
echo "# #"
echo "#######################################################################"
cp misc/init.d/fedora/core/* /etc/init.d/
#拷贝启动文件到/etc/init.d/下
echo $?="拷贝启动文件到/etc/init.d/下"

sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_server
sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd
#编辑启动模块下
echo $?="编辑启动模块"

sed -i "s|# DBHost=localhost|DBHost=localhost|" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "s|DBUser=zabbix|DBUser=root|" /usr/local/zabbix/etc/zabbix_server.conf
sed -i "s|# DBPassword=|DBPassword=$Database_Password|" /usr/local/zabbix/etc/zabbix_server.conf
#编辑Zabbix配置配置文件
echo $?="编辑Zabbix配置配置文件"

/etc/init.d/zabbix_server restart
/etc/init.d/zabbix_agentd restart
#启动zabbix服务

systemctl restart zabbix_server
systemctl restart zabbix_agentd
#重启验证服务
#通过”netstat -an | grep LIS“查看10050、10051端口能否正常监听,如果不能正常监听可能数据库或配置文件有问题。

systemctl enable zabbix_server
systemctl enable zabbix_agentd
echo $?="配置Zabbix完成"
echo "#######################################################################"
echo "# #"
echo "# 正在配置PHP.ini 请稍等~ #"
echo "# #"
echo "#######################################################################"
sed -i "s/post_max_size = 8M/post_max_size = 32M/" /etc/php.ini
sed -i "s/max_execution_time = 30/max_execution_time = 600/" /etc/php.ini
sed -i "s/max_input_time = 60/max_input_time = 600/" /etc/php.ini
sed -i "s#;date.timezone =#date.timezone = Asia/Shanghai#" /etc/php.ini
#修改PHP配置文件
echo $?="PHP.inin配置完成完成"

echo "#######################################################################"
echo "# #"
echo "# 正在配置Zabbix前台文件 请稍等~ #"
echo "# #"
echo "#######################################################################"

rm -rf /var/www/html/*
#清空网站根目录
cp -r frontends/php/* /var/www/html/
#复制PHP文件到网站根目录
chown -R apache:apache /var/www/html/
chmod -R 777 /var/www/html/conf/
#给网站目录添加属主
echo $?="网页文件拷贝完成"

echo "#######################################################################"
echo "# #"
echo "# 正在重启服务 请稍等~ #"
echo "# #"
echo "#######################################################################"

systemctl restart php-fpm httpd mariadb zabbix_server zabbix_agentd
echo $?="服务启动完成"

echo "--------------------------- 安装已完成 ---------------------------"
echo " 数据库名 :zabbix"
echo " 数据库用户名 :root"
echo " 数据库密码 :"$Database_Password
echo " 网站目录 :/var/www/html"
echo " Zabbix登录 :http://主机IP"
echo " 安装日志文件 :/var/log/"$install_date
echo "------------------------------------------------------------------"
echo " 如果安装有问题请反馈安装日志文件。"
echo " 使用有问题请在这里寻求帮助:https://www.xxshell.com"
echo " 电子邮箱:admin@xxshell.com"
echo "------------------------------------------------------------------"
}
LOGFILE=/var/log/"zabbix_install_$(date +%Y-%m-%d_%H:%M:%S).log"
touch $LOGFILE
tail -f $LOGFILE &
pid=$!
exec 3>&1
exec 4>&2
exec &>$LOGFILE
process
ret=$?
exec 1>&3 3>&-
exec 2>&4 4>&-
 评论