当前位置:   article > 正文

使用docker compose部署zabbix server

docker compose部署zabbix

使用Docker Compose安装Zabbix的好处主要体现在以下几个方面:

  1. 快速部署:Docker Compose允许您使用单个YAML文件定义多个容器的配置,从而简化了部署过程。通过简单的命令,您可以快速创建和启动一个Zabbix服务。
  2. 易于扩展:如果您需要增加更多的Zabbix服务器或代理,Docker Compose可以轻松地扩展您的容器集群。只需在YAML文件中添加相应的配置,然后重新启动服务即可。
  3. 灵活配置:Docker Compose允许您根据不同的环境和需求,对容器进行灵活的配置。您可以轻松地更改Zabbix的配置参数,以满足特定的性能或功能需求。
  4. 版本控制:与传统的部署方式相比,Docker Compose将整个环境的配置存储在一个版本控制系统中。这使得团队成员可以轻松地共享和协作,同时确保部署的一致性和可重复性。
  5. 集成其他服务:Docker Compose允许您将其他服务与Zabbix一起部署。例如,您可以同时部署数据库、Web服务器等其他依赖项,以构建一个完整的Zabbix监控系统。
  6. 跨平台部署:Docker Compose适用于不同的操作系统和云平台。无论您是在本地开发环境还是生产环境中部署Zabbix,Docker Compose都可以帮助您快速搭建和扩展环境。

总之,使用Docker Compose安装Zabbix可以简化部署过程,提高可扩展性和灵活性,同时提供版本控制和跨平台部署的优势。

1.安装docker

安装docker请我参考我以往所发布的教程 安装docker教程 http://t.csdnimg.cn/CNcZf

2.安装docker compose

sudo curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
  • 1
  • 2

3.创建数据卷

mkdir -p /home/zabbix-server
cd /home/zabbix-server
mkdir -p ./mysql/data
#映射数据库数据目录
mkdir -p ./mysql/conf
#映射数据库配置文件
mkdir -p ./mysql/logs
#映射数据库日志文件
mkdir -p ./font
mkdir -p ./snmptraps
mkdir -p ./mibs
mkdir -p ./alertscripts
mkdir -p ./externalscripts
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4.编辑docker-compose.yml

需进入/home/zabbix-server目录创建docker-compose.yml文件,环境变量可根据实际情况进行修改。

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/logs:/var/log/mysql
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - MYSQL_ROOT_PASSWORD=myrootpassword
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypassword
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    command: --max_connections=800
    expose:
      - "3306"
    networks:
      zabbix-net:
    command: --character-set-server=utf8 --collation-server=utf8_bin
  zabbix-gateway:
    image: zabbix/zabbix-java-gateway:6.0-centos-latest
    container_name: zabbix-gateway
    volumes:
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    ports:
      - "10052:10052"
    networks:
      zabbix-net:
  zabbix-snmptraps:
    image: zabbix/zabbix-snmptraps:6.0-centos-latest
    container_name: zabbix-snmptraps
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
    restart: always
    privileged: true
    ports:
      - "1162:1162/udp"
    networks:
      zabbix-net:
  zabbix-server:
    image: zabbix/zabbix-server-mysql:6.0-centos-latest
    container_name: zabbix-server
    volumes:
      - /etc/localtime:/etc/localtime
      - ./snmptraps:/var/lib/zabbix/snmptraps
      - ./mibs:/var/lib/zabbix/mibs
      - ./alertscripts:/usr/lib/zabbix/alertscripts
      - ./externalscripts:/usr/lib/zabbix/externalscripts
    restart: always
    privileged: true
    depends_on:  
      - mysql
    environment:
      - ZBX_LISTENPORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypassword
      - MYSQL_ROOT_PASSWORD=myrootpassword
      - ZBX_STARTPOLLERS=200
      - ZBX_STARTPINGERS=32
      - ZBX_STARTJAVAPOLLERS=1
      - ZBX_STARTPOLLERSUNREACHABLE=20
      - ZBX_STARTTRAPPERS=30
      - ZBX_STARTHTTPPOLLERS=10
      - ZBX_STARTVMWARECOLLECTORS=250
      - ZBX_CACHESIZE=4G
      - ZBX_HISTORYCACHESIZE=512M
      - ZBX_HISTORYINDEXCACHESIZE=32M
      - ZBX_TRENDCACHESIZE=256M
      - ZBX_VALUECACHESIZE=256M
      - ZBX_IPMIPOLLERS=1
      - ZBX_ENABLE_SNMP_TRAPS=true
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=zabbix-gateway
      - ZBX_VMWAREFREQUENCY=60
      - ZBX_VMWAREPERFFREQUENCY=60
      - ZBX_VMWARECACHESIZE=2G
      - ZBX_TIMEOUT=30
      - ZBX_VMWARETIMEOUT=120

    ports:
      - "10051:10051"
    networks:
      zabbix-net:
        ipv4_address: 10.10.10.12
    links:
      - mysql
      - zabbix-gateway
      
  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:6.0-centos-latest
    container_name: zabbix-web
    volumes:
      - ./font/simfang.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      - ZBX_SERVER_NAME=Zabbix 6.0
      - ZBX_SERVER_HOST=zabbix-server
      - ZBX_SERVER_PORT=10051
      - DB_SERVER_HOST=mysql
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=mypassword
      - MYSQL_ROOT_PASSWORD=myrootpassword
      - PHP_TZ=Asia/Shanghai
    ports:
      - "80:8080"
    networks:
      zabbix-net:
    links:
      - mysql
      - zabbix-server

networks:
  zabbix-net:
    driver: bridge
    ipam:
      config:
        - subnet: 10.10.10.0/24
          gateway: 10.10.10.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135

5.服务启动

需要进入docker-compose.yml文件所在目录进行操作

cd /home/zabbix-server
docker-compose up -d #创建容器并启动服务,如果镜像不存在时,会自动下载镜像
docker-compose down #关闭整个项目并移除容器、移除网络、如果挂载数据卷后不会移除数据卷
docker-compose stop #停止容器服务
docker-compose start #启动容器服务
docker-compose restart #重启整个项目
docker-compose logs #查看容器日志
以上命令可以通过加服务名称管理指定的服务,比如docker-compose stop zabbix-server表示只停止zabbix-server容器
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/156357
推荐阅读
相关标签
  

闽ICP备14008679号