Zabbix监控服务器部署

Zabbix监控部署

一、环境准备

一台centos7.9的服务器,4G/4C/20G差不多了
本次使用docker安装zabbix
提前准备3个镜像【可以从docker desktop下载好,保存到本地,上传到centos服务器】
在这里插入图片描述在这里插入图片描述
部署成功后:
在这里插入图片描述
网页:
在这里插入图片描述
账号:Admin
密码:zabbix
在这里插入图片描述

二、正式部署

因为采用的脚本一键部署,所以前提条件需要准备好

2.1 安装docker软件

yum install -y docker
systemctl start docker
systemctl enable docker

在这里插入图片描述

2.2 准备好的3个docker镜像

必须提前弄好,因为docker pull 时“挂梯子”都不一定能下载到!
聪明的你一定可以拿到手,观察下图。。。。。。。。。
在这里插入图片描述

[root@localhost ~]# ll mysql.tar zabbix-server-mysql.tar zabbix-web-nginx-mysql.tar
-rw-r--r--. 1 root root 257695232 720 10:37 mysql.tar
-rw-r--r--. 1 root root  36185088 720 10:37 zabbix-server-mysql.tar
-rw-r--r--. 1 root root  57250304 720 10:37 zabbix-web-nginx-mysql.tar

# 导入镜像
[root@localhost ~]# docker load -i zabbix-server-mysql.tar
[root@localhost ~]# docker load -i zabbix-web-nginx-mysql.tar
[root@localhost ~]# docker load -i mysql.tar

# 查看镜像,确保3个都在
[root@localhost ~]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
zabbix/zabbix-web-nginx-mysql   alpine-6.0-latest   98aa4bb666ce        2 days ago          158 MB
zabbix/zabbix-server-mysql      alpine-6.0-latest   8618664759b9        2 days ago          104 MB
mysql                           8.4                 083c8ddb1fa1        3 days ago          821 MB

2.3 执行server.sh

server.sh

#!/bin/bash
# CentOS 7.9 Zabbix 6.0 LTS 服务端一键部署(精简版)

set -e

echo "========== Zabbix 6.0 服务端一键部署 =========="

# 1. 安装 Docker
echo "[1/8] 安装 Docker..."
yum install -y docker
systemctl start docker
systemctl enable docker

# 2. 配置镜像加速
echo "[2/8] 配置镜像加速..."
mkdir -p /etc/docker
cat <<'EOF' > /etc/docker/daemon.json
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
systemctl restart docker

# 3. 清理旧容器
echo "[3/8] 清理旧容器..."
docker stop $(docker ps -aq) 2>/dev/null || true
docker rm $(docker ps -aq) 2>/dev/null || true
rm -rf /data/mysql/*

# 4. 创建数据目录
echo "[4/8] 创建数据目录..."
mkdir -p /data/mysql

# 5. 启动 MySQL 8.4
echo "[5/8] 启动 MySQL 8.4..."
docker run -d \
  --name zabbix-mysql \
  --privileged \
  -e MYSQL_ROOT_PASSWORD=Hinner@q1w2e3 \
  -e MYSQL_DATABASE=zabbix \
  -e MYSQL_USER=zabbix \
  -e MYSQL_PASSWORD=Hinner@q1w2e3 \
  -v /data/mysql:/var/lib/mysql \
  mysql:8.4

echo "等待 MySQL 初始化(约 30 秒)..."
sleep 30

# 6. 设置 MySQL 参数
echo "[6/8] 设置 MySQL 参数..."
docker exec zabbix-mysql mysql -uroot -p'Hinner@q1w2e3' -e "
SET GLOBAL log_bin_trust_function_creators = 1;
GRANT SUPER ON *.* TO 'zabbix'@'%';
FLUSH PRIVILEGES;
"

# 7. 启动 Zabbix Server
echo "[7/8] 启动 Zabbix Server..."
docker run -d \
  --name zabbix-server \
  --privileged \
  --link zabbix-mysql:mysql \
  -e DB_SERVER_HOST=mysql \
  -e MYSQL_USER=zabbix \
  -e MYSQL_PASSWORD=Hinner@q1w2e3 \
  -e MYSQL_DATABASE=zabbix \
  -p 10051:10051 \
  zabbix/zabbix-server-mysql:alpine-6.0-latest

echo "等待 Zabbix Server 初始化(约 2 分钟)..."
sleep 120

# 8. 启动 Zabbix Web
echo "[8/8] 启动 Zabbix Web..."
docker run -d \
  --name zabbix-web \
  --privileged \
  --link zabbix-mysql:mysql \
  --link zabbix-server:zabbix-server \
  -e ZBX_SERVER_HOST=zabbix-server \
  -e DB_SERVER_HOST=mysql \
  -e MYSQL_USER=zabbix \
  -e MYSQL_PASSWORD=Hinner@q1w2e3 \
  -e MYSQL_DATABASE=zabbix \
  -e PHP_TZ=Asia/Shanghai \
  -p 80:8080 \
  zabbix/zabbix-web-nginx-mysql:alpine-6.0-latest

echo "等待 Web 启动(约 30 秒)..."
sleep 30

echo ""
echo "========== 部署完成 =========="
echo "访问地址: http://$(ip route get 1 | awk '{print $NF;exit}')"
echo "账号: Admin"
echo "密码: zabbix"
echo ""
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

执行 sh server.sh 命令,等待几分钟即可。。。。

说明:
1. web账号密码Admin zabbix
2. mysql账号密码root Hinner@q1w2e3
3. 有时间再去了解细节,重点是关心zabbix如何使用!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值