zabbix集群搭建分布式监控的操作步骤

  • Post category:Linux

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服务器为主服务器,其他两个服务器为代理服务器。我们需要对这三个服务器进行监控。

操作步骤

  1. 在192.168.0.100主服务器上安装Zabbix Server,并配置相关参数。
  2. 在192.168.1.100代理服务器上安装Zabbix Proxy,并配置相关参数。
  3. 在192.168.2.100代理服务器上安装Zabbix Proxy,并配置相关参数。
  4. 在192.168.0.100主服务器上配置Zabbix Server与Zabbix Proxy的连接。
  5. 在192.168.0.100主服务器上添加需要监控的主机,每个主机的IP地址为192.168.0.100、192.168.1.100和192.168.2.100。
  6. 在192.168.1.100代理服务器和192.168.2.100代理服务器上添加相应的主机。

这样,我们就可以使用这个Zabbix集群进行分布式监控了。

示例二

如果我们有多个可用的Zabbix Server,并且希望它们可以互为备份,在其中一个服务器出现故障时,其他服务器可以接管监控任务。如下面这个场景:

我们有两个服务器:192.168.0.100和192.168.0.101。这两台服务器都安装了Zabbix Server,并配置了相关参数。我们需要对这两个服务器进行监控,并希望它们互为备份。

操作步骤

  1. 在192.168.0.100和192.168.0.101两台服务器上都安装Zabbix Server,并配置相关参数。
  2. 在192.168.0.100主服务器上配置Zabbix Server与192.168.0.101主服务器的连接。
  3. 在192.168.0.101主服务器上配置Zabbix Server与192.168.0.100主服务器的连接。
  4. 在192.168.0.100主服务器上添加需要监控的主机,并指定192.168.0.101主服务器为备份服务器。
  5. 在192.168.0.101主服务器上添加相应的主机。

这样,我们就可以使用这个Zabbix集群进行主备式监控了。如果192.168.0.100服务器出现故障,192.168.0.101服务器就会自动接管监控任务。