项目方案:Docker部署的Zabbix与AD域控集成
1. 项目背景
在企业网络中,集中化的监控系统对于确保系统的可靠性和稳定性至关重要。Zabbix是一个广泛使用的开源监控解决方案,可以通过监控、警报和可视化实时地查看和分析网络基础设施的状态。而在企业环境中,许多组织使用Active Directory(AD)作为身份验证和授权的中心,因此将Zabbix与AD域控集成可以提供更强大的功能和便捷性。
本项目旨在提供一个方案,通过Docker部署的Zabbix与AD域控集成,实现以下目标:
- 实现单点登录,用户可以使用AD凭据登录到Zabbix系统
- 同步AD用户和组信息到Zabbix中,实现基于AD的用户和组的权限管理
- 自动发现AD中的计算机设备,并将其添加到Zabbix的监控范围中
2. 解决方案
2.1 Docker部署Zabbix
为了实现方便的部署和管理,我们决定使用Docker来部署Zabbix系统。通过Docker,我们可以快速部署Zabbix容器,并通过Docker Compose来管理多个容器的互相依赖关系。
以下是一个示例的Docker Compose文件,用于部署Zabbix容器:
version: '3'
services:
zabbix-server:
image: zabbix/zabbix-server-mysql:latest
ports:
- 80:80
environment:
- DB_SERVER_HOST=mysql-server
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_DATABASE=zabbix
depends_on:
- mysql-server
zabbix-web:
image: zabbix/zabbix-web-nginx-mysql:latest
ports:
- 8080:8080
environment:
- DB_SERVER_HOST=mysql-server
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_DATABASE=zabbix
depends_on:
- mysql-server
mysql-server:
image: mysql:latest
environment:
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_DATABASE=zabbix
2.2 AD域控集成
为了实现与AD域控的集成,我们将使用Zabbix提供的LDAP认证和自动发现功能。通过配置Zabbix的LDAP设置,可以实现AD用户登录和AD组的权限管理。通过自动发现功能,可以自动添加AD中的计算机设备到Zabbix的监控范围中。
以下是一个示例的Zabbix服务器配置文件(zabbix_server.conf),用于配置AD域控集成:
# Enable LDAP authentication
# 设置为1以启用LDAP认证
LDAPAuthentication=1
# LDAP server URL
# AD域控的LDAP服务器URL
LDAPURI=ldap://ad.example.com
# LDAP search base
# LDAP搜索的基础DN
LDAPBaseDN=dc=example,dc=com
# LDAP bind DN
# LDAP绑定DN
LDAPBindDN=cn=admin,dc=example,dc=com
# LDAP bind password
# LDAP绑定密码
LDAPBindPassword=your_password
# LDAP filter for user authentication
# 用于用户身份验证的LDAP过滤器
LDAPUserFilter=(sAMAccountName={0})
# LDAP filter for group authorization
# 用于组授权的LDAP过滤器
LDAPGroupFilter=(member={0})
# LDAP attribute for the full name of the user
# 用户全名的LDAP属性
LDAPFullNameAttribute=cn
# Enable auto-discovery of hosts from LDAP
# 设置为1以启用从LDAP自动发现主机
LDAPOldHosts=1
# LDAP server URL for auto-discovery
# 自动发现主机的LDAP服务器URL
LDAPOldURI=ldap://ad.example.com
# LDAP search base for auto-discovery
# 自动发现的LDAP搜索基础DN
LDAPOldBaseDN=dc=example,dc=com
# LDAP bind DN for auto-discovery
# 自动发现的LDAP绑定DN
LDAPOldBindDN=cn=admin,dc=example,dc=com
# LDAP bind password for auto-discovery
# 自动发现的LDAP绑定密码
LDAPOldBindPassword=your_password
# LDAP