ubuntu 24下使用docker compose部署zabbix-server 7.0 + zabbix-proxy 7.0 +zabbix agent(非docker)

环境:
Os:ubuntu 24.04
zabbix:7.0.29

192.168.1.102 zabbix-server
192.168.1.105 zabbix-proxy
192.168.1.106 zabbix agent 常规安装方式 不采用docker

 

##############################zabbix-server 7.0#######################
1.准备docker-compose.yml配置文件
工作目录:/opt/zabbix-server
mkdir -p /opt/zabbix-server/mysql_data ##mysql 数据目录

vi /opt/zabbix-server/docker-compose.yml

 

version: '3.8'

services:
  mysql-server:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/mysql:8.0.46
    container_name: zabbix-mysql-server
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: Zbx@Root123
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
    volumes:
      - ./mysql_data:/var/lib/mysql
    ports:
      - "3306:3306"
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci

  zabbix-server:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-server-mysql:ubuntu-7.0.29
    container_name: zabbix-server
    restart: always
    depends_on:
      - mysql-server
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
      MYSQL_ROOT_PASSWORD: Zbx@Root123
    ports:
      - "10051:10051"
    volumes:
      - ./alertscripts:/usr/lib/zabbix/alertscripts
      - ./externalscripts:/usr/lib/zabbix/externalscripts

  zabbix-web-nginx-mysql:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-web-nginx-mysql:ubuntu-7.0.29
    container_name: zabbix-web
    restart: always
    depends_on:
      - mysql-server
      - zabbix-server
    environment:
      DB_SERVER_HOST: mysql-server
      MYSQL_DATABASE: zabbix_server
      MYSQL_USER: zabbix
      MYSQL_PASSWORD: Zbx@Db123
      ZBX_SERVER_HOST: zabbix-server
      PHP_TZ: Asia/Shanghai
    ports:
      - "8080:8080"

 

2.启动
cd /opt/zabbix-server
docker compose up -d

 

3.浏览器登录
http://192.168.1.102:8080
账号密码为Admin/zabbix

 

##############################zabbix-proxy 7.0#######################
1.准备docker-compose.yml配置文件
工作目录:/opt/zabbix-proxy
mkdir -p /opt/zabbix-proxy/mysql_proxy_data ##mysql数据目录
vi /opt/zabbix-proxy/docker-compose.yml

version: '3.8'

services:
  mysql-proxy:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/mysql:8.0.46
    container_name: zabbix-mysql-proxy
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ZbxProxy@Root123
      MYSQL_DATABASE: zabbix_proxy
      MYSQL_USER: zabbix_proxy
      MYSQL_PASSWORD: ZbxProxy@Db123
    volumes:
      - ./mysql_proxy_data:/var/lib/mysql
    ports:
      - "3306:3306"
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_unicode_ci

  zabbix-proxy-mysql:
    image: registry.cn-shenzhen.aliyuncs.com/hxlk8s/zabbix-proxy-mysql:7.0.29-ubuntu
    container_name: zabbix-proxy
    restart: always
    depends_on:
      - mysql-proxy
    environment:
      DB_SERVER_HOST: mysql-proxy
      MYSQL_DATABASE: zabbix_proxy
      MYSQL_USER: zabbix_proxy
      MYSQL_PASSWORD: ZbxProxy@Db123
      MYSQL_ROOT_PASSWORD: ZbxProxy@Root123
      ## 关键:指向zabbix server物理IP
      ZBX_SERVER_HOST: 192.168.1.102
      ZBX_SERVER_PORT: 10051
      ## proxy名称,后面web页面要填这个名字
      ZBX_HOSTNAME: zabbix-proxy
      ZBX_PROXYMODE: 0   # 0=主动proxy;1=被动proxy,这里用主动
    ports:
      - "10051:10051"
    volumes:
      - ./externalscripts:/usr/lib/zabbix/externalscripts
    ulimits:
      nofile:
        soft: 65536
        hard: 65536
networks:
  proxy-net:
    driver: bridge

 

2.启用
cd /opt/zabbix-proxy
docker compose up -d

 

###############################zabbix agent#############################
常规安装,不采用docker
1.关闭防火墙
sudo ufw disable
sudo ufw status

 

2.设置主机名
hostnamectl set-hostname zabbix-agent

 


3.添加Zabbix7.0官方源
mkdir /soft
cd /soft
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb ##会生成apt源 zabbix.sources zabbix-tools.sources,所在目录 /etc/apt/sources.list.d
apt update

 

4.安装agent端
apt install -y zabbix-agent2

 

5.编辑配置文件
cd /etc/zabbix
mv zabbix_agent2.conf bak_zabbix_agent2.conf
vi zabbix_agent2.conf

 

输入如下内容

root@zabbix-agent:/etc/zabbix# more zabbix_agent2.conf 
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=1
DebugLevel=3
SourceIP=192.168.1.106
Server=192.168.1.105
ListenPort=10050
ListenIP=192.168.1.106
ServerActive=192.168.1.105
Hostname=zabbix-agent
RefreshActiveChecks=5
BufferSend=20
BufferSize=100
Timeout=3
Include=/etc/zabbix/zabbix_agent2.d/*.conf
UnsafeUserParameters=1
AllowKey=system.run[*]

 

配置文件说明:
SourceIP=192.168.1.106 ##agent端本机ip地址
Server=192.168.1.105 ##zabbix proxy宿主机ip地址
ListenIP=192.168.1.106 ##agent端本机ip地址
ServerActive=192.168.1.105 ##zabbix proxy宿主机ip地址
Hostname=zabbix-agent ##agent端本机hostname

 

6.启动服务
systemctl restart zabbix-agent2
systemctl enable --now zabbix-agent2
systemctl status zabbix-agent2

 

7.创建自定义监控

mkdir -p /etc/zabbix/scripts ##自定义脚本目录

[root@zabbix-agent scripts]# more /etc/zabbix/scripts/es_check_available.sh 
#!/bin/bash
available_flag=1

if [ $available_flag -eq 1 ] ; then
   echo "ok"
else
   echo "failed"
fi

 

配置项
[root@zabbix-agent zabbix_agentd.d]# more /etc/zabbix/zabbix_agent2.d/es.conf
UserParameter=check_es_available,sh /etc/zabbix/scripts/es_check_available.sh

重启zabbix agent服务
systemctl restart zabbix-agent2

 

8.在服务端添加主机和配置项

image

 

image

 

 

image

 

最新数据查看

image

 

 

 

posted @ 2026-08-06 15:03  slnngk  阅读(11)  评论(0)    收藏  举报