Docker搭建部署Zabbix服务器

本文详细介绍了如何在CentOS系统中更换yum源,然后通过Docker安装和配置Zabbix监控系统,包括ZabbixServer、Proxy、Web界面和Agent的设置,最后提到了一些常见的问题及解决办法,如时间同步和容器管理。
摘要由CSDN通过智能技术生成

使用Docker搭建Zabbix

更换yum源

##安装wget
yum install -y wget

##进入yum仓库
cd /etc/yum.repo.d/

##备份原有yum源
mv /etc/yum.repo.d/Centos-7.repo /etc/yum.repo.d/Centos-7.repo.bak

##下载新的yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo

##清除缓存
yum clean all

##生成新的缓存
yum makecache

##安装EPEL
yum install -y epel-release

##再次运行yum clean all清除缓存 
yum clean all
yum makecache

##更新yum
yum -y update

安装Docker

采用Centos 7 yum安装

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

##安装校验
root@iZbp12adskpuoxodbkqzjfZ:$ docker version
Client:
 Version:      17.03.0-ce
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.0-ce
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   3a232c8
 Built:        Tue Feb 28 07:52:04 2017
 OS/Arch:      linux/amd64
 Experimental: false

测试准备

需要的镜像

docker pull zabbix/zabbix-web-nginx-mysql:5.0-centos-latest
docker pull zabbix/zabbix-server-mysql:5.0-centos-latest
docker pull zabbix/zabbix-proxy-mysql:5.0-centos-latest
docker pull zabbix/zabbix-snmptraps:5.0-centos-latest
docker pull zabbix/zabbix-agent:5.0-centos-latest
docker pull mysql:5.7

搭建zabbix

##镜像拉取结束后,查看镜像列表
docker images

##运行Demo
# 运行本地数据库
docker run --name zbx5-mysql -d \
    --network=host \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    --restart unless-stopped mysql:5.7 \
    --character-set-server=utf8 --collation-server=utf8_bin \
    --default-authentication-plugin=mysql_native_password

# 启动 server 后端
docker run --name zbx5-server-mysql -d \
    -e DB_SERVER_HOST="127.0.0.1" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    --network=host \
    --restart unless-stopped \
	zabbix/zabbix-server-mysql:5.0-centos-latest

# 启动 proxy,由于默认 Server 和 Proxy 端口都为 10051,避免冲突,这里使用 11111
docker run --name zbx5-proxy-mysql -d \
    -e DB_SERVER_HOST="127.0.0.1" \
    -e ZBX_LISTENPORT=11111 \
    -e ZBX_HOSTNAME="zabbix-proxy-test1" \
    -e ZBX_SERVER_HOST="127.0.0.1" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
	-e MYSQL_ROOT_PASSWORD="root" \
    --network=host \
    --restart unless-stopped \
	zabbix/zabbix-proxy-mysql:5.0-centos-latest

# 启动前端页面,默认端口是 8080
docker run --name zbx5-web-nginx-mysql -d \
    -e ZBX_SERVER_HOST="127.0.0.1" \
    -e DB_SERVER_HOST="127.0.0.1" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    --network=host \
    --restart unless-stopped \
	zabbix/zabbix-web-nginx-mysql:5.0-centos-latest

# 启动 Agent
docker run --name zbx5-agent -d \
    -e ZBX_HOSTNAME="local-agent" \
    -e ZBX_SERVER_HOST="127.0.0.1"  \
    --network=host \
    --restart unless-stopped \
    zabbix/zabbix-agent:5.0-centos-latest

##浏览器 http://ip:8080
默认密码:Admin/zabbix

docker其他命令

##停止正在运行的镜像
#step 1 		先查看正在运行的镜像 docker ps
CONTAINER ID   IMAGE                                             COMMAND                   CREATED          STATUS          PORTS     NAMES
850f5f190b52   zabbix-agent:5.0-centos-latest             "/usr/bin/tini -- /u…"   11 minutes ago   Up 11 minutes             zbx5-agent
6a8f3022e3f0   zabbix-web-nginx-mysql:5.0-centos-latest   "docker-entrypoint.sh"    11 minutes ago   Up 11 minutes             zbx5-web-nginx-mysql
7a0fda359321   zabbix-proxy-mysql:5.0-centos-latest       "/usr/bin/tini -- /u…"   11 minutes ago   Up 11 minutes             zbx5-proxy-mysql
b483dde04495   zabbix-server-mysql:5.0-centos-latest      "/usr/bin/tini -- /u…"   11 minutes ago   Up 11 minutes             zbx5-server-mysql
bc9840acc1ca   mysql:5.7                                         "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes             zbx5-mysql

#step 2  	先停止正在运行的镜像
docker stop 850
ps: 850 指的是CONTAINER ID 下的容器ID前3个字符

#step3		删除停止的镜像
docker ps -a
docker rmi 850

docker rm -f $(docker ps -a -q) ####删除所用运行的镜像

常见问题

服务器时间与本地不一致

##查看正在运行的容器
docker ps

##进入zabbix/zabbix-web-nginx-mysql的配置文件
docker exec -it 6a8f3022e3f0 /bin/bash
ps:6a8f3022e3f0是容器id

##修改配置文件
vim /etc/php-fpm.d/zabbix.conf 
php_value[date.timezone] = Asia/Shanghai

##停止容器
docker stop 6a8

##重启容器
docker resart 6a8
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路跑码码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值