一、概述
随着Zabbix 7.0 LTS的正式发布,它将为企业提供提供比以往任何版本都更容易使用的具有各种开箱即用的企业级功能的一体化监控解决方案。
zabbix7.0新功能如下:
1.通过定义灵活的基于场景的多步骤监控网站和Web应用程序。
2.通过自动proxy负载均衡和高可用性功能,
按需扩展Zabbix环境并确保100%的可用性。
3.Zabbix proxy现在支持将所有采集的指标存储在内存中。
4.为了大幅提升指标轮询的速度和扩展性,
同步式poller进程已被异步式poller取代。
5.集中控制数据采集超时可以更好地处理较长数据采集时间间隔的指标和自定义检查。
6.引入了多种新的仪表板小部件,使您能够更全面地了解您监控的指标和基础架构。
7.网络自动发现支持并行检查,将主机和服务发现的速度提高了10到100倍。
8.开箱即用的多因子认证(MFA)支持提供了企业级安全性,
并为配置用户认证方法提供了更大的灵活性。
9.更灵活的资源发现和管理
10.Zabbix 7.0 LTS预装了许多最受欢迎的供应商和云提供商的新模板
详细内容请参阅官方文档:
https://www.zabbix.com/rn/rn7.0.0

二、安装
使用一台Linux服务器,提前安装了docker,docker-compose即可,注意:docker版本不要太老了,最好使用新版。
这里服务器ip为:192.168.52.130
创建持久化目录
mkdir -p /opt/zabbix/{mysql,alertscripts,externalscripts,export,modules,enc,ssh_keys,ssl/certs,ssl/keys,ssl/ssl_ca,snmptraps}
chmod -R 755 /opt/zabbix
修改docker-compose.yml,为Agent分配固定IP,避免重启后变化:
cat > /opt/zabbix/docker-compose.yml <<'EOF'
version: '3.8'
services:
mysql-server:
image: mysql:8.0
container_name: zabbix-mysql
restart: always
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_bin
- --default-authentication-plugin=mysql_native_password
- --log-bin-trust-function-creators=1
environment:
MYSQL_ROOT_PASSWORD: zabbix_root_pwd
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
volumes:
- /opt/zabbix/mysql:/var/lib/mysql
networks:
zabbix-net:
ipv4_address: 172.20.0.2
zabbix-server:
image: zabbix/zabbix-server-mysql:alpine-7.4-latest
container_name: zabbix-server
restart: always
ports:
- "10051:10051"
environment:
DB_SERVER_HOST: 172.20.0.2
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
MYSQL_ROOT_PASSWORD: zabbix_root_pwd
ZBX_CACHESIZE: 512M
ZBX_HISTORYCACHESIZE: 256M
ZBX_TRENDCACHESIZE: 128M
ZBX_VALUECACHESIZE: 256M
# Zabbix 7.4新增进程配置
ZBX_STARTCONNECTORS: 1
ZBX_STARTJAVAPOLLERS: 5
ZBX_JAVAGATEWAY_ENABLE: "true"
ZBX_JAVAGATEWAY: 172.20.0.6
ZBX_STARTREPORTWRITERS: 1
ZBX_STARTIPMIPOLLERS: 1
ZBX_STARTSNMPTRAPPER: 1
ZBX_STARTVMWARECOLLECTORS: 1
ZBX_VMWAREPERFREQUENCY: 60
ZBX_VMWARETIMEOUT: 10
ZBX_STARTPOLLERS: 15
ZBX_STARTPREPROCESSORS: 15
ZBX_STARTTRAPPERS: 15
ZBX_STARTDISCOVERERS: 5
ZBX_STARTHTTPPOLLERS: 5
ZBX_STARTTIMERS: 5
ZBX_STARTESCALATORS: 5
ZBX_STARTALERTERS: 5
ZBX_TIMEOUT: 30
ZBX_TRAPPERIMEOUT: 30
volumes:
- /opt/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
- /opt/zabbix/externalscripts:/usr/lib/zabbix/externalscripts
- /opt/zabbix/export:/var/lib/zabbix/export
- /opt/zabbix/modules:/var/lib/zabbix/modules
- /opt/zabbix/enc:/var/lib/zabbix/enc
- /opt/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys
- /opt/zabbix/ssl/certs:/var/lib/zabbix/ssl/certs
- /opt/zabbix/ssl/keys:/var/lib/zabbix/ssl/keys
- /opt/zabbix/ssl/ssl_ca:/var/lib/zabbix/ssl/ssl_ca
- /opt/zabbix/snmptraps:/var/lib/zabbix/snmptraps
networks:
zabbix-net:
ipv4_address: 172.20.0.3
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:alpine-7.4-latest
container_name: zabbix-web
restart: always
ports:
- "8080:8080"
- "8443:8443"
environment:
ZBX_SERVER_HOST: 172.20.0.3
ZBX_SERVER_PORT: 10051
DB_SERVER_HOST: 172.20.0.2
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix_pwd
MYSQL_ROOT_PASSWORD: zabbix_root_pwd
PHP_TZ: Asia/Shanghai
ZBX_SERVER_NAME: Zabbix-K8s-Monitor-7.4
networks:
zabbix-net:
ipv4_address: 172.20.0.4
zabbix-java-gateway:
image: zabbix/zabbix-java-gateway:alpine-7.4-latest
container_name: zabbix-java-gateway
restart: always
ports:
- "10052:10052"
networks:
zabbix-net:
ipv4_address: 172.20.0.6
zabbix-agent:
image: zabbix/zabbix-agent2:alpine-7.4-latest
container_name: zabbix-agent
restart: always
privileged: true
pid: host
environment:
ZBX_HOSTNAME: "Zabbix server"
ZBX_SERVER_HOST: "172.20.0.3"
ZBX_SERVER_PORT: 10051
ZBX_ACTIVE_ALLOW: "true"
ZBX_PASSIVE_ALLOW: "true"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
networks:
zabbix-net:
ipv4_address: 172.20.0.5
networks:
zabbix-net:
driver: bridge
ipam:
config:
- subnet: 172..20.0.0/24
EOF
启动服务
docker-compose up -d
等等几分钟,查看服务状态是否正常
# docker-compose ps
WARN[0000] /opt/zabbix/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
zabbix-agent zabbix/zabbix-agent2:alpine-6.0-latest "/sbin/tini -- /usr/..." zabbix-agent About a minute ago Up About a minute 10050/tcp, 31999/tcp
zabbix-java-gateway zabbix/zabbix-java-gateway:alpine-6.0-latest "docker-entrypoint.s..." zabbix-java-gateway About a minute ago Up About a minute 0.0.0.0:10052->10052/tcp
zabbix-mysql mysql:8.0 "docker-entrypoint.s..." mysql-server About a minute ago Up About a minute 3306/tcp, 33060/tcp
zabbix-server zabbix/zabbix-server-mysql:alpine-6.0-latest "/sbin/tini -- /usr/..." zabbix-server About a minute ago Up About a minute 0.0.0.0:10051->10051/tcp
zabbix-web zabbix/zabbix-web-nginx-mysql:alpine-6.0-latest "docker-entrypoint.sh" zabbix-web About a minute ago Up About a minute (healthy) 0.0.0.0:8080->8080/tcp, 8443/tcp
获取Agent容器IP
docker-compose exec zabbix-agent hostname -i
输出:172.20.0.5
登录web页面
http://192.168.52.130:8080/
默认用户名:Admin,密码:zabbix

登录之后,修改语言为中文

效果如下:

点击数据采集-->主机-->Zabbix server,将agent ip 127.0.0.1修改为172.20.0.5,最后点击更新
注意:这里必须使用ip地址,不能使用别名或者域名。
