Zabbix通常有两种方法,一种是源码安装,另一种是docker安装 【文章底部有硬核技能考核】
源码安装:
源码安装比较复杂,很容易出错,安装比较耗时,很多配置项都需要自己手动配置,不过好处是后期维护比较方便,如果感兴趣,可以看下之前我写的源码安装zabbix4.x,该教程需要你熟悉linux才行,因为你现在遇到的报错很有可能和我当时安装的时候遇到的报错不一样
docker安装:
docker安装简单,不用进行过多的配置,感兴趣的朋友可以在测试环境中试一下,下面是安装步骤(请先在测试环境安装测试)
关闭防火墙和SElinux
vim docker_pull_image.sh
# 删除旧的zabbix容器和镜像
docker stop $(docker ps -a)
sleep 3
docker rm -f $(docker ps -a)
docker rmi -f $(docker images | grep "zabbix")
# 拉取zabbix所需镜像
docker pull mysql:5.7 && docker pull zabbix/zabbix-server-mysql:centos-latest && docker pull zabbix/zabbix-web-nginx-mysql:latest && docker pull zabbix/zabbix-java-gateway:latest
docker pull mysql:8.0.24
# 重命名
docker tag mysql:8.0.24 zabbix-mysq8024:v1
docker tag mysql:5.7 zabbix-mysql57:v1
docker tag zabbix/zabbix-server-mysql:centos-latest zabbix-server-mysql-centos:v1
docker tag zabbix/zabbix-web-nginx-mysql:latest zabbix-web-nginx-mysql:v1
docker tag zabbix/zabbix-java-gateway:latest zabbix-java-gateway:v1
# 删除原有镜像
docker rmi mysql:8.0.24
docker rmi -f mysql:5.7
docker rmi -f zabbix/zabbix-server-mysql:centos-latest
docker rmi -f zabbix/zabbix-web-nginx-mysql:latest
docker rmi -f zabbix/zabbix-java-gateway:latest
# 删除原有数据卷挂载
rm -rf /usr/lib/zabbix/alertscripts
docker system prune
docker volume prune
vim install_zabbix_server.sh
# 创建docker双向通信共享网络
docker network create -d bridge zabbix-net
# 创建数据卷
docker volume create zabbix-mysql-data
docker volume create zabbix-server-vol
docker run -it -p 3307:3306 \
--name zabbix-mysql \
--network zabbix-net \
--mount source=zabbix-mysql-data,target=/var/lib/mysql \
--restart=always \
-v /etc/localtime:/etc/localtime \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="root123" \
-d zabbix-mysql57:v1
docker run -it -v /etc/localtime:/etc/localtime \
--restart=always \
--name=zabbix-java-gateway \
--network zabbix-net \
-d zabbix-java-gateway:v1
docker run -it -p 10051:10051 \
--mount source=zabbix-server-vol,target=/etc/zabbix \
-v /etc/localtime:/etc/localtime \
-v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
--name=zabbix-server-mysql \
--restart=always \
--network zabbix-net \
-e DB_SERVER_HOST="zabbix-mysql" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="root123" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
-d zabbix-server-mysql-centos:v1
docker run -it -p 8888:8080 \
-v /etc/localtime:/etc/localtime \
--name zabbix-web-nginx-mysql \
--restart=always \
--network zabbix-net \
-e DB_SERVER_HOST="zabbix-mysql" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix123" \
-e MYSQL_ROOT_PASSWORD="root123" \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-d zabbix-web-nginx-mysql:v1
执行脚本:
./docker_pull_image.sh
./install_zabbix_server.sh 等docker_pull_image.sh脚本执行成功后再执行
docker images | grep zabbix
docker ps | grep zabbix
浏览器访问:
默认账号:Admin
默认密码:zabbix