返回

内网部署 Zabbix 5.0 Docker 环境详解

见解分享

在企业 IT 环境中,监控是至关重要的,它可以帮助管理员检测和解决问题,并确保系统平稳运行。Zabbix 是一个流行的开源监控解决方案,它以其强大的功能和灵活性而闻名。本文将指导您如何在内网环境中使用 Docker 部署 Zabbix 5.0。

前提条件

在继续之前,确保您具备以下条件:

  • Docker 环境
  • Nginx Web 服务器
  • Java Development Kit (JDK) 1.8
  • PHP 7.3
  • MySQL 8.0

部署步骤

  1. 创建 Docker 镜像

创建包含 Zabbix 5.0、Nginx、PHP 7.3 和 MySQL 8.0 的 Docker 镜像。可以使用以下 Dockerfile:

FROM nginx
RUN apt-get update && \
    apt-get install -y \
    software-properties-common && \
    add-apt-repository -y ppa:ondrej/php && \
    apt-get update && \
    apt-get install -y \
    php7.3-fpm \
    php7.3-mysql \
    php7.3-mbstring \
    php7.3-gd && \
    apt-get install -y \
    mysql-server

COPY ./zabbix-5.0.4.tar.gz /usr/src/zabbix-5.0.4.tar.gz
RUN cd /usr/src && \
    tar -xzf zabbix-5.0.4.tar.gz && \
    cd zabbix-5.0.4 && \
    ./configure --enable-server --enable-agent --with-mysql --with-php-config=/usr/bin/php-config7.3 && \
    make install

RUN ln -s /usr/bin/mysql_config /usr/bin/mysql_config7 && \
    echo 'zabbix zabbix' | chpasswd
  1. 运行 Zabbix 容器

使用以下命令运行 Zabbix 容器:

docker run -d -p 80:80 -p 3306:3306 --name zabbix-server my-zabbix-image
  1. 配置 Zabbix

访问 http://[服务器 IP 地址]/zabbix,按照 Zabbix 安装向导完成配置。

  1. 配置 Nginx

为 Zabbix 配置 Nginx 虚拟主机,如下所示:

server {
    listen 80;
    server_name example.com;
    root /usr/share/zabbix;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. 重启服务

重启 Nginx 和 Zabbix 容器:

docker restart zabbix-server
service nginx restart

配置前端界面

  1. 创建前端容器

创建包含 Zabbix 前端界面的 Docker 镜像。可以使用以下 Dockerfile:

FROM nginx
COPY ./zabbix-web-interface.tar.gz /usr/src/zabbix-web-interface.tar.gz
RUN cd /usr/src && \
    tar -xzf zabbix-web-interface.tar.gz && \
    cd zabbix-web-interface && \
    cp -r * /usr/share/nginx/html
  1. 运行前端容器

使用以下命令运行前端容器:

docker run -d -p 8080:80 --name zabbix-web my-zabbix-web-image

访问 Zabbix 界面

现在,您可以访问 http://[服务器 IP 地址]:8080 访问 Zabbix 界面。使用您在安装向导中设置的凭据登录。

总结

通过使用 Docker,您可以在内网环境中快速、轻松地部署 Zabbix 5.0。Docker 提供了一个隔离的环境,使您可以在不同的环境中部署和运行应用程序,而无需担心兼容性问题。此外,Docker 容器易于更新和维护,使您可以轻松地保持 Zabbix 最新。