涛子 - 简单就是美

成单纯魁增,永继振国兴,克复宗清政,广开家必升

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  428 随笔 :: 0 文章 :: 19 评论 :: 22万 阅读

https://zabbix.com/documentation/current/en/manual/installation/containers

1. custom network

docker network create --subnet 10.0.0.0/24 custom-net

云机地址 10.132.127.8, 各服务之间通讯需要使用

2. mysql

cat > mysql.yml << EOF
version: '3'

services:
  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: unless-stopped
    ports:
      - 3306:3306
      - 33060:33060
    volumes:
      - /data/mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_HOST=%
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=*zabbix@2024*
      - MYSQL_ROOT_PASSWORD=*root@2024*
    command:
      - mysqld
      - --max_connections=1000
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --default-authentication-plugin=mysql_native_password
    networks:
      custom-net:
        ipv4_address: 10.0.0.21

networks:
  custom-net:
    external: true

# networks:
#   custom-net:
#     driver: bridge
#     ipam:
#      config:
#        - subnet: 10.0.0.0/24
#          gateway: 10.0.0.1
EOF

mkdir /data/mysql
docker compose -f mysql.yml up -d

mysql -h 127.0.0.1 -u root -p 
SET GLOBAL log_bin_trust_function_creators = 1;

3. zabbix-server

cat > zabbix-server.yml << EOF
version: '3'

services:
  zabbix-server:
    image: zabbix/zabbix-server-mysql:alpine-6.0.25
    container_name: zabbix-server
    restart: unless-stopped
    ports:
      - 10051:10051
    volumes:
      - /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
      - /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
      - /data/zabbix/modules:/var/lib/zabbix/modules
      - /data/zabbix/enc:/var/lib/zabbix/enc
      - /data/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys
      - /data/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs
      - /data/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys
      - /data/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca
      - /data/zabbix/snmptraps:/var/lib/zabbix/snmptraps
      - /data/zabbix/mibs:/var/lib/zabbix/mibs
      - /data/zabbix/export:/var/lib/zabbix/export
    environment:
      - TINI_SUBREAPER=true
      - DB_SERVER_HOST=10.0.0.21
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=*zabbix@2024*
      - ZBX_DEBUGLEVEL=0
      - ZBX_TIMEOUT=30
      - ZBX_JAVAGATEWAY_ENABLE=true
      - ZBX_JAVAGATEWAY=10.132.127.8
      - ZBX_CACHESIZE=16M
      - ZBX_HISTORYCACHESIZE=16M
      - ZBX_HISTORYINDEXCACHESIZE=16M
      - ZBX_HOUSEKEEPINGFREQUENCY=12
      - ZBX_MAXHOUSEKEEPERDELETE=100000
      - ZBX_STARTPOLLERS=10
      - ZBX_STARTDISCOVERERS=10
      - ZBX_STARTPINGERS=10
      - ZBX_STARTHISTORYPOLLERS=10
    init: true
    networks:
      custom-net:
        ipv4_address: 10.0.0.22

  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:alpine-6.0.25
    container_name: zabbix-web
    restart: unless-stopped
    ports:
      - 29980:8080
      - 29943:8443
    volumes:
      - /etc/timezone:/etc/timezone
      - /etc/localtime:/etc/localtime
      - /data/zabbix/ssl/nginx:/etc/ssl/nginx
      - /data/zabbix/web/certs:/etc/zabbix/web/certs
    environment:
      - DB_SERVER_HOST=10.132.127.8
      - DB_SERVER_PORT=3306
      - MYSQL_DATABASE=zabbix
      - MYSQL_USER=zabbix
      - MYSQL_PASSWORD=*zabbix@2024*
      - ZBX_SERVER_HOST=10.132.127.8
      - ZBX_SERVER_PORT=10051
      - PHP_TZ=Asia/Shanghai
      - PHP_FPM_PM=dynamic
      - PHP_FPM_PM_MAX_CHILDREN=50
      - PHP_FPM_PM_START_SERVERS=5
      - PHP_FPM_PM_MIN_SPARE_SERVERS=5
      - PHP_FPM_PM_MAX_SPARE_SERVERS=35
      - PHP_FPM_PM_MAX_REQUESTS=0
    networks:
      custom-net:
        ipv4_address: 10.0.0.23

  zabbix-java-gateway:
    image: zabbix/zabbix-java-gateway:alpine-6.0.25
    container_name: zabbix-java-gateway
    restart: unless-stopped
    ports:
      - 10052:10052
    volumes:
      - /data/zabbix/ext_lib:/usr/sbin/zabbix_java/ext_lib
    environment:
      - ZBX_START_POLLERS=10
      - ZBX_TIMEOUT=30
      - ZBX_DEBUGLEVEL=info
    networks:
      custom-net:
        ipv4_address: 10.0.0.24

networks:
  custom-net:
    external: true
EOF

mkdir -p /data/zabbix/{alertscripts,externalscripts,modules,enc,ssh_keys,snmptraps,mibs,export}
mkdir -p /data/zabbix/ssl/{certs,keys,ssl_ca}
docker compose -f zabbix-server.yml up -d zabbix-server

docker compose -f zabbix-server.yml stop zabbix-server
按以下资料修改zabbix数据库字符集 https://www.cnblogs.com/ytyzhn/p/16986560.html
docker compose -f zabbix-server.yml start zabbix-server

mkdir -p /data/zabbix/ssl/nginx /data/zabbix/web/certs
docker compose -f zabbix-server.yml up -d zabbix-web

mkdir -p /data/zabbix/ext_lib
docker compose -f zabbix-server.yml up -d zabbix-java-gateway

4. zabbix-agent2

cat > zabbix-agent.yml << EOF
version: '3'

services:
  zabbix-agent2:
    image: zabbix/zabbix-agent2:alpine-6.0.25
    container_name: zabbix-agent2
    restart: always
    ports:
      - 10050:10050
      - 15002:15002
      - 31999:31999
    volumes:
      - /data/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
    environment:
      - TINI_SUBREAPER=true
      - ZBX_HOSTNAME=zabbix-server
      - ZBX_SERVER_HOST=10.132.127.8
      - ZBX_PASSIVE_ALLOW=true
      - ZBX_PASSIVESERVERS=0.0.0.0/0
      - ZBX_ACTIVE_ALLOW=true
      - ZBX_ACTIVESERVERS=0.0.0.0/0
      - ZBX_TIMEOUT=30
      - ZBX_DEBUGLEVEL=0
      - ZBX_ENABLESTATUSPORT=true
    privileged: true
    init: true
    networks:
      custom-net:
        ipv4_address: 10.0.0.25

networks:
  custom-net:
    external: true
EOF

mkdir -p /data/zabbix_agentd.d
docker compose -f zabbix-agent.yml up -d

5. 访问

http://10.132.127.8:29980
admin / zabbix

配置监控主机zabbix-server,ip127.0.0.1 改为10.132.127.8
posted on   北京涛子  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2017-01-10 老笔记本装xubuntu+win7
点击右上角即可分享
微信分享提示