docker-compose 部署 zabbix-server 5.0.11

docker-compose 部署 zabbix-server 5.0.11

docker-compose.yaml

version: "3"
services:
  mysql-server:
    image: mysql:5.7
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      #MYSQL_DATABASE: zabbix
      #MYSQL_USER: zabbix
      #MYSQL_PASSWORD: 123456
      TZ: Asia/Shanghai
    command: --character-set-server=utf8mb4
    restart: always
  zabbix-server:
    image: zabbix/zabbix-server-mysql:5.0.11-alpine
    #ports:
    #  - "10051:10051"
    environment:
      DB_SERVER_HOST: 127.0.0.1
      DB_SERVER_PORT: 3306
      MYSQL_DATABASE: zabbix
      MYSQL_USER: root
      MYSQL_PASSWORD: 123456
      TZ: Asia/Shanghai
    depends_on:
      - mysql-server
    restart: always
    network_mode: "host"
  zabbix-web:
    image: zabbix/zabbix-web-nginx-mysql:5.0.11-alpine
    ports:
      - "80:8080"
    environment:
      DB_SERVER_HOST: mysql-server
      DB_SERVER_PORT: 3306
      MYSQL_DATABASE: zabbix
      MYSQL_USER: root
      MYSQL_PASSWORD: 123456
      TZ: Asia/Shanghai
      ZBX_SERVER_HOST: zabbix-server
    depends_on:
      - mysql-server
      - zabbix-server
    restart: always
  • zabbix-server 使用 host 网络,以便监控 zabbix-server 本机
  • zabbix-web 注意端口暴露为 "80:8080",网上的很多教程都是 "80:80",是个小坑

运行

docker-compose up -d

访问

http://[zabbix-server-ip]

  • 初始账号密码: Admin zabbix

其他操作

停止

docker-compose stop

启动

docker-compose start

停止并删除容器(慎用)

docker-compose down -v

部署 zabbix-agent

dnf 或者 yum 安装

centos 8

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
dnf install zabbix-agent2
  • 5.0 以后新增 zabbix-agent2(go语言版本),配置和老版 zabbix-agent 兼容

centos 7

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum install zabbix-agent2

配置 /etc/zabbix/zabbix_agent2.conf,修改以下配置:

Server=[zabbix-server-ip or zabbix-proxy-ip]
ServerActive=[zabbix-server-ip or zabbix-proxy-ip]
Hostname=node1

启动:

systemctl start zabbix-agent2

设置开机启动:

systemctl enable zabbix-agent2

编译安装

安装 zabbix-agent2 需要使用 golang,其安装方法这里不表。

wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.11.tar.gz
tar zxvf zabbix-5.0.11.tar.gz
cd zabbix-5.0.11
./configure --prefix=/usr/local/zabbix -enable-agent2
make
make install
  • 需要开启 go mod,go env -w GO111MODULE=on && go env -w GOPROXY=https://goproxy.cn,direct
  • 默认配置文件:/usr/local/zabbix/etc/zabbix_agent2.conf
  • 二进制程序:/usr/local/zabbix/sbin/zabbix_agent2

配置 systemd 启动文件 /usr/lib/systemd/system/zabbix-agent2.service:

[Unit]
Description=Zabbix Agent 2
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agent2.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent2
Type=simple
Restart=on-failure
PIDFile=/tmp/zabbix_agent2.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agent2 -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

配置 /usr/local/zabbix/etc/zabbix_agent2.conf,修改以下配置:

PidFile=/tmp/zabbix_agent2.pid
LogFile=/tmp/zabbix_agent2.log
Server=[zabbix-server-ip or zabbix-proxy-ip]
ServerActive=[zabbix-server-ip or zabbix-proxy-ip]
Hostname=node1

添加 zabbix 用户

useradd -s /sbin/nologin zabbix

配置启动并设置开机启动

systemctl daemon-reload
systemctl enable zabbix-agent2
systemctl start zabbix-agent2
systemctl status zabbix-agent2

zabbix-agent2 是 go 语言编写有个好处就是编译后没有组件依赖,直接拷贝二进制文件与配置文件到其他主机相同目录,添加 unit 启动文件,修改配置文件就可以直接运行了。

原文地址:https://www.cnblogs.com/leffss/p/14734102.html