容器方式部署Zabbix 7.0
·
Zabbix 7.0相对于前面的版本,有几点大的升级。
- 提升了Web的监控,从最终用户的角度监控网站和应用程序,能够模拟真实用户的行为,提供更贴近业务感知的Web应用性能数据。
- 通过异步数据轮询方式,大幅提升数据采集的速度和可伸缩性。
- 增加了更多的仪表盘,方便问题诊断
- 认证方面,原生支持企业级的多因素认证(MFA)
- 增加了新的模板,这些模板针对主流的公有云提供商,可以快速大规模配置
这篇文章使用容器方式快速部署一个Zabbix 7.0服务。
环境
使用一台主机,操作系统是CentOS 7(生产环境建议使用Ubuntu或Debian,CentOS 7已不更新)
数据库使用PostgreSQL 14
数据库初始化
我们的重心是Zabbix的搭建,数据库的安装这里省略,可以参考官方文档(这里使用非容器方式部署数据库)
安装完PostgreSQL 14后, 需要创建Zabbix服务使用的用户名和数据库,名称都是“zabbix”,使用如下命令:
CREATE USER zabbix WITH PASSWORD 'longpassword';
CREATE DATABASE zabbix OWNER zabbix;
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
下一步完成zabbix数据库的初始化,从zabbix官网下载源码,加压后,进去目录“zabbix-7.0.18/database/postgresql”,使用下面命令导入表结构和初始数据,
/usr/pgsql-14/bin/psql -U zabbix -d zabbix -h localhost -f schema.sql
/usr/pgsql-14/bin/psql -U zabbix -d zabbix -h localhost -f images.sql
/usr/pgsql-14/bin/psql -U zabbix -d zabbix -h localhost -f data.sql
后面的服务都使用docker容器的方式来运行,因为容器使用桥接的方式,所以需要更新PostgreSQL的配置文件“pg_hba.conf”,加入下面一行(生产中,根据实际情况放通,这里为演示全部放通):
host zabbix zabbix 0.0.0.0/0 scram-sha-256
配置完毕后,重启数据库。
服务配置与启动
Zabbix Server和Zabbix Web采用容器方式部署,使用docker-compose管理:
version: "3"
services:
zabbix-server:
image: zabbix/zabbix-server-pgsql:7.0-ubuntu-latest
container_name: zabbix-server
environment:
- DB_SERVER_HOST=10.0.0.2 #数据库服务器IP
- POSTGRES_USER=zabbix
- POSTGRES_PASSWORD=zabbix32
- POSTGRES_DB=zabbix
restart: always
networks:
- zabbixbridge
zabbix-web:
image: zabbix/zabbix-web-nginx-pgsql:7.0-ubuntu-latest
container_name: zabbix-web
ports:
- "80:8080"
environment:
- DB_SERVER_HOST=10.0.0.2 #数据库服务器IP
- POSTGRES_USER=zabbix
- POSTGRES_PASSWORD=zabbix32
- PHP_TZ=Asia/Shanghai
- ZBX_SERVER_HOST=zabbix-server
- PHP_TZ="Asia/Shanghai"
depends_on:
- zabbix-server
restart: always
networks:
- zabbixbridge
networks:
zabbixbridge:
driver: bridge
启动服务,
docker-compose up -d
访问
Zabbix默认访问用户是“Admin”,密码是“zabbix”。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)