zabbix5的shell脚本

# vim install_zabbix_server_for_linux.sh

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
#!/bin/bash
#
#********************************************************************
#Date: 2022-03-05
#FileName: install_zabbix_server_for_linux.sh
#Description: The test script
#Copyright (C): 2021 All rights reserved
#********************************************************************
 
ZABBIX_VER=5.0
 
MYSQL_ROOT_PASS='123456'
MYSQL_ZABBIX_PASS='123456'
ZABBIX_IP=`hostname -I|awk '{print $1}'`
 
. /etc/os-release
 
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
 
install_mysql () {
if [ $ID = "centos" ] ;then
if [ ${VERSION_ID} == "8" ];then
dnf -y install mysql-server
systemctl enable --now mysqld
elif [ ${VERSION_ID} == "7" ];then
yum -y install mariadb-server
systemctl enable --now mariadb
else
color "不支持的操作系统,退出" 1
fi
else
apt update
apt -y install mysql-server
fi
mysqladmin -uroot password $MYSQL_ROOT_PASS
mysql -uroot -p$MYSQL_ROOT_PASS <<EOF
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by "$MYSQL_ZABBIX_PASS";
grant all privileges on zabbix.* to zabbix@localhost;
quit
EOF
if [ $? -eq 0 ];then
color "MySQL数据库准备完成" 0
else
color "MySQL数据库配置失败,退出" 1
exit
fi
}
 
install_zabbix () {
if [ $ID = "centos" ] ;then
rpm -Uvh https://repo.zabbix.com/zabbix/${ZABBIX_VER}/rhel/${VERSION_ID}/x86_64/zabbix-release-${ZABBIX_VER}-1.el${VERSION_ID}.noarch.rpm
if [ $? -eq 0 ];then
color "YUM仓库准备完成" 0
else
color "YUM仓库配置失败,退出" 1
exit
fi
sed -i 's#repo.zabbix.com#mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
if [ ${VERSION_ID} == "8" ];then
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent zabbix-get langpacks-zh_CN
else
yum -y install zabbix-server-mysql zabbix-agent zabbix-get
yum -y install centos-release-scl
rpm -q yum-utils || yum -y install yum-utils
yum-config-manager --enable zabbix-frontend
yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
fi
else
wget https://repo.zabbix.com/zabbix/${ZABBIX_VER}/ubuntu/pool/main/z/zabbix-release/zabbix-release_${ZABBIX_VER}-1+${UBUNTU_CODENAME}_all.deb
if [ $? -eq 0 ];then
color "APT仓库准备完成" 0
else
color "APT仓库配置失败,退出" 1
exit
fi
dpkg -i zabbix-release_${ZABBIX_VER}-1+${UBUNTU_CODENAME}_all.deb
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/apt/sources.list.d/zabbix.list
apt update
apt -y install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-agent zabbix-get language-pack-zh-hans
fi
}
config_mysql_zabbix () {
if [ -f SIMYOU.TTF ] ;then
mv /usr/share/zabbix/assets/fonts/graphfont.ttf{,.bak}
cp SIMYOU.TTF /usr/share/zabbix/assets/fonts/graphfont.ttf
else
color "缺少字体文件!" 1
fi
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p$MYSQL_ZABBIX_PASS zabbix
sed -i "/.*DBPassword=.*/c DBPassword=$MYSQL_ZABBIX_PASS" /etc/zabbix/zabbix_server.conf
if [ $ID = "centos" ];then
if [ ${VERSION_ID} == "8" ];then
sed -i -e "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" -e "/.*upload_max_filesize.*/c php_value[upload_max_filesize] = 20M" /etc/php-fpm.d/zabbix.conf
systemctl enable --now zabbix-server zabbix-agent httpd php-fpm
else
sed -i "/.*date.timezone.*/c php_value[date.timezone] = Asia/Shanghai" /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
fi
else
sed -i "/date.timezone/c php_value date.timezone Asia/Shanghai" /etc/apache2/conf-available/zabbix.conf
chown -R www-data.www-data /usr/share/zabbix/
systemctl enable zabbix-server zabbix-agent apache2
systemctl restart zabbix-server zabbix-agent apache2
fi
if [ $? -eq 0 ];then
echo
color "ZABBIX-${ZABBIX_VER}安装完成!" 0
echo "-------------------------------------------------------------------"
echo "请访问: http://$ZABBIX_IP/zabbix"
else
color "ZABBIX-${ZABBIX_VER}安装失败!" 1
exit
fi
}
install_mysql
install_zabbix
config_mysql_zabbix

  

posted @   雨夜清风  Views(165)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示