Zabbix集群搭建分布式监控的操作步骤
1. 安装Zabbix Server和Zabbix Agent
首先,在主服务器上安装Zabbix Server,可以参考官方文档:https://www.zabbix.com/download
然后,安装Zabbix Agent,这里以CentOS为例:
yum -y install zabbix-agent
2. 配置Zabbix Server和Zabbix Agent
2.1 配置Zabbix Server
编辑zabbix_server.conf文件,修改以下配置项:
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
StartPollers=10
StartPollersUnreachable=5
ListenIP=0.0.0.0
LogFile
:指定Zabbix Server的日志文件;LogFileSize
:指定日志文件的大小,0表示无限制;PidFile
:指定Zabbix Server的pid文件;DBHost
:指定MySQL数据库的地址;DBName
:指定Zabbix Server所使用的数据库名称;DBUser
:指定连接MySQL数据库所使用的用户名;DBPassword
:指定连接MySQL数据库所使用的密码;DBPort
:指定连接MySQL数据库所使用的端口号;StartPollers
:指定Zabbix Server启动的轮询进程数量;StartPollersUnreachable
:指定Zabbix Server启动的不可达主机轮询进程数量;ListenIP
:指定Zabbix Server监听的IP地址。
2.2 配置Zabbix Agent
编辑zabbix_agentd.conf文件,修改以下配置项:
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.0.100
ServerActive=192.168.0.100
Hostname=web-server-1
UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
PidFile
:指定Zabbix Agent的pid文件;LogFile
:指定Zabbix Agent的日志文件;LogFileSize
:指定日志文件的大小,0表示无限制;Server
:指定Zabbix Server的IP地址;ServerActive
:指定Zabbix Server主动连接Agent的IP地址;Hostname
:指定Zabbix Agent的主机名;UnsafeUserParameters
:指定是否允许使用用户自定义参数;Include
:指定加载的自定义配置文件。
3. 配置Zabbix Web界面
编辑apache的httpd.conf文件,添加以下配置指令:
php_value date.timezone Asia/Shanghai
php_value max_execution_time 300
php_value memory_limit 128M
重启Apache服务:
systemctl restart httpd
然后,在浏览器中输入Zabbix Server的IP地址,进入Zabbix Web界面,进行Zabbix Web的配置。
4. 配置Zabbix Proxy
Zabbix Proxy可以在分布式监控场景下,协助Zabbix Server收集各个Agent的数据。
4.1 安装Zabbix Proxy
在Proxy服务器上安装Zabbix Proxy,可以参考官方文档:https://www.zabbix.com/download
4.2 配置Zabbix Proxy
编辑zabbix_proxy.conf文件,修改以下配置项:
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix_proxy.pid
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ProxyMode=0
Server=192.168.0.100
Hostname=proxy-server-1
ListenIP=0.0.0.0
LogFile
:指定Zabbix Proxy的日志文件;LogFileSize
:指定日志文件的大小,0表示无限制;PidFile
:指定Zabbix Proxy的pid文件;DBHost
:指定MySQL数据库的地址;DBName
:指定Zabbix Proxy所使用的数据库名称;DBUser
:指定连接MySQL数据库所使用的用户名;DBPassword
:指定连接MySQL数据库所使用的密码;DBPort
:指定连接MySQL数据库所使用的端口号;ProxyMode
:指定Zabbix Proxy是否为被动模式;Server
:指定Zabbix Server的IP地址;Hostname
:指定Zabbix Proxy的主机名;ListenIP
:指定Zabbix Proxy监听的IP地址。
5. 配置Zabbix Server与Zabbix Proxy的连接
编辑zabbix_server.conf文件,修改以下配置项:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ProxyMode=1
ProxyLocalBuffer=0
ProxyOfflineBuffer=1
ProxyConfigFrequency=3600
DBHost
:指定MySQL数据库的地址;DBName
:指定Zabbix Server所使用的数据库名称;DBUser
:指定连接MySQL数据库所使用的用户名;DBPassword
:指定连接MySQL数据库所使用的密码;DBPort
:指定连接MySQL数据库所使用的端口号;ProxyMode
:指定Zabbix Server是否为Proxy模式;ProxyLocalBuffer
:指定Zabbix Server本地缓存数据的大小,0表示不缓存;ProxyOfflineBuffer
:指定Zabbix Server离线缓存数据的大小,1表示缓存1小时的数据;ProxyConfigFrequency
:指定Zabbix Server与Zabbix Proxy的配置同步频率。
示例说明
示例一
如果我们要在不同的地区、不同的网络中监控多个服务器,可以使用分布式监控。通过配置多个Zabbix Server、Zabbix Proxy,可以实现数据的汇总和处理。如下面这个场景:
我们有三个服务器:192.168.0.100、192.168.1.100和192.168.2.100。其中,192.168.0.100服务器为主服务器,其他两个服务器为代理服务器。我们需要对这三个服务器进行监控。
操作步骤
- 在192.168.0.100主服务器上安装Zabbix Server,并配置相关参数。
- 在192.168.1.100代理服务器上安装Zabbix Proxy,并配置相关参数。
- 在192.168.2.100代理服务器上安装Zabbix Proxy,并配置相关参数。
- 在192.168.0.100主服务器上配置Zabbix Server与Zabbix Proxy的连接。
- 在192.168.0.100主服务器上添加需要监控的主机,每个主机的IP地址为192.168.0.100、192.168.1.100和192.168.2.100。
- 在192.168.1.100代理服务器和192.168.2.100代理服务器上添加相应的主机。
这样,我们就可以使用这个Zabbix集群进行分布式监控了。
示例二
如果我们有多个可用的Zabbix Server,并且希望它们可以互为备份,在其中一个服务器出现故障时,其他服务器可以接管监控任务。如下面这个场景:
我们有两个服务器:192.168.0.100和192.168.0.101。这两台服务器都安装了Zabbix Server,并配置了相关参数。我们需要对这两个服务器进行监控,并希望它们互为备份。
操作步骤
- 在192.168.0.100和192.168.0.101两台服务器上都安装Zabbix Server,并配置相关参数。
- 在192.168.0.100主服务器上配置Zabbix Server与192.168.0.101主服务器的连接。
- 在192.168.0.101主服务器上配置Zabbix Server与192.168.0.100主服务器的连接。
- 在192.168.0.100主服务器上添加需要监控的主机,并指定192.168.0.101主服务器为备份服务器。
- 在192.168.0.101主服务器上添加相应的主机。
这样,我们就可以使用这个Zabbix集群进行主备式监控了。如果192.168.0.100服务器出现故障,192.168.0.101服务器就会自动接管监控任务。