Zabbix容器版安装

Zabbix安装

官方文档 : https://www.zabbix.com/cn/download

中文字体乱码

上传 字体文件到 /usr/share/fonts 重命名为:DejaVuSans.ttf
在这里插入图片描述

容器版安装

docker-compose.yml 文件内容如下

version: "3.8"
services:
  mysql-server:
    image: mysql:8.0
    container_name: mysql-server
    restart: always
    environment:
      MYSQL_DATABASE: zabbix
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: 123456qaz!@#
      MYSQL_ROOT_PASSWORD: 123456qaz!@#
    command:
      - --character-set-server=utf8
      - --collation-server=utf8_bin
      - --default-authentication-plugin=mysql_native_password
    networks:
      - zabbix-net
    volumes:
      - "/root/zabbix/mysqldata:/var/lib/mysql"
      - "/etc/localtime:/etc/localtime"
    ports:
      - "3306:3306"

  zabbix-java-gateway:
    image: zabbix/zabbix-java-gateway
    container_name: zabbix-java-gateway
    volumes:
      - "/etc/localtime:/etc/localtime"
    ports:
      - "10052:10052"
    restart: always
    networks:
      - zabbix-net

  zabbix-server-mysql:
    image: zabbix/zabbix-server-mysql
    container_name: zabbix-server-mysql
    networks:
      - zabbix-net
    restart: always
    depends_on:
      - mysql-server
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: 123456qaz!@#
      MYSQL_ROOT_PASSWORD: 123456qaz!@#
      ZBX_JAVAGATEWAY: zabbix-java-gateway
      ZBX_JAVAGATEWAY_ENABLE: "true"
    ports:
      - "10051:10051"
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "/root/zabbix/alertscripts:/usr/lib/zabbix/alertscripts"
      - "/root/zabbix/externalscripts:/usr/lib/zabbix/externalscripts"
    links:
      - mysql-server:mysql
      - zabbix-java-gateway:zabbix-java-gateway

  zabbix-web-nginx-mysql:
    image: zabbix/zabbix-web-nginx-mysql
    container_name: zabbix-web-nginx-mysql
    networks:
      - zabbix-net
    restart: always
    depends_on:
      - mysql-server
      - zabbix-server-mysql
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: 123456qaz!@#
      MYSQL_ROOT_PASSWORD: 123456qaz!@#
      ZBX_SERVER_HOST: zabbix-server
      PHP_TZ: "Asia/Shanghai"
    ports:
      - "8080:8080"
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "/usr/share/fonts/:/usr/share/zabbix/assets/fonts/"
    links:
      - mysql-server:mysql
      - zabbix-server-mysql:zabbix-server

  zabbix-agent:
    image: zabbix/zabbix-agent
    container_name: zabbix-agent
    restart: always
    privileged: true
    environment:
      ZBX_HOSTNAME: "Zabbix server"
      ZBX_SERVER_HOST: "172.18.0.1"
      ZBX_SERVER_PORT: 10051
    ports:
      - "10050:10050"
    volumes:
      - "/etc/localtime:/etc/localtime"
    networks:
      - zabbix-net

networks:
  zabbix-net:
    ipam:
      driver: default
      config:
        - subnet: "172.18.0.0/16"
### 安装 Zabbix容器中的方法 #### 准备工作 为了在容器环境中部署Zabbix服务,需先确保Docker环境已经正确安装并运行正常。对于特定本的JDK需求,可以参照Ubuntu上安装Zing JDK的方法[^4]。 #### 创建 Dockerfile 文件 创建一个名为 `Dockerfile` 的文件来定义用于构建Zabbix镜像所需的指令: ```dockerfile FROM ubuntu:latest # 更新软件包列表和安装必要的依赖项 RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:ondrej/php && \ apt-get update && \ apt-get install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts mysql-client # 设置时区和其他PHP设置... ENV PHP_TZ=Europe/Riga RUN echo "date.timezone = $PHP_TZ" >> /etc/php/7.4/apache2/conf.d/zabbix.ini EXPOSE 80 10050 10051 CMD ["apache2ctl", "-D", "FOREGROUND"] ``` 此脚本会基于最新的Ubuntu镜像,并安装Zabbix服务器及其前端组件。注意这里假设使用MySQL作为数据库后端;如果选用其他类型的数据库,则需要调整相应的命令。 #### 构建与运行容器 完成上述操作之后,在包含Dockerfile的目录下执行如下命令以构建自定义的Zabbix镜像: ```bash docker build -t my-zabbix . ``` 接着可以通过以下方式启动新创建的Zabbix容器实例: ```bash docker run --name some-zabbix -p 8080:80 -p 10050:10050 -p 10051:10051 -d my-zabbix ``` 这将会把主机上的指定端口映射给容器内的对应服务,使得可以从外部访问Web界面以及监控数据传输接口。 #### 配置 Kubernetes 中的 Zabbix 当考虑在一个Kubernetes集群内部署Zabbix时,除了基本的服务配置外还需要额外关注几个方面。比如通过Kubernetes Secrets管理敏感信息如API令牌[^3],并且利用ConfigMap对象存储非机密性的参数设定。此外,应该合理规划Pod之间的网络通信策略以便于Agent能够顺利向Server汇报状态更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值