Zabbix3.4分布式监控----zabbix_proxy
(一)概述
zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.
此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。
zabbix proxy 使用场景:
-
监控远程区域设备
-
监控本地网络不稳定区域
-
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
-
简化分布式监控的维护
zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可。
proxy 收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定。
注意 :1,从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略。
2,zabbix proxy 数据库必须和 server 分开,否则数据会被破坏。
zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:
注意:[1]使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
------官方文档(https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies)
(二) 在代理服务器上编译安装zabbix_proxy
2.1,从官网上下载最新的安装包,并编译安装。
1
2
3
4
5
6
7
8
|
[[email protected] install ] # wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz/download
zabbix-3.4.3. tar .gz
[[email protected] zabbix-3.4.3] # yum install gcc pcre mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel
[[email protected] zabbix-3.4.3] #./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-net-snmp --with-mysql --with-ssh2 --with-libcurl --with-libxml2 --with-libzbxvmware
[[email protected] zabbix-3.4.3] # make && make install
|
2.2,添加zabbix用户和组
1
2
|
|
2.3,安装创建数据库(安装数据库省略)
1
2
3
4
5
6
|
mysql> create database zabbix_proxy; Query OK, 1 row affected (0.00 sec) mysql>GRANT ALL PRIVILEGES ON `zabbix`.* TO 'zabbix_proxy' @ '%' ;
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
2.4,导入zabbix默认的数据库文件
1
|
[[email protected] zabbix-3.4.3] # mysql zabbix_proxy < database/mysql/schema.sql
|
2.5,修改代理服务器的配置zabbix_proxy.conf
1
2
3
4
5
6
7
8
9
10
11
12
|
[[email protected] etc] # vim /usr/local/zabbix/etc/zabbix_proxy.conf
Server=192.168.99.99 Hostname=Zabbix_Proxy200.18 LogFile= /tmp/zabbix_proxy .log
DBHost=192.168.99.99
DBName=zabbix_proxy DBUser=zabbix DBPassword=zabbix
ConfigFrequency=600
DataSenderFrequency=10
Timeout=4 LogSlowQueries=3000 |
备注:
Server=IP #zabbix服务端IP Hostname=Zabbix_proxy #必须和WEB页面添加代理时设置的名称一致 LogFile=/tmp/zabbix_proxy.log #日志文件路径 DBHost=IP #数据库IP DBName=zabbix_proxy #数据库名 DBUser=user #数据库用户名 DBPassword=password #数据库密码 ConfigFrequency=60 #配置文件同步间隔 DataSenderFrequency=5 #数据同步间隔
2.5配置zabbix_proxy和zabbix_agent启动服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
[[email protected] init.d] # cp /tmp/install/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[[email protected] init.d] # cp /tmp/install/zabbix-3.4.3/misc/init.d/fedora/core/zabbix_server /etc/init.d/
[[email protected] init.d] # cd /etc/init.d/
[[email protected] init.d] # mv zabbix_server zabbix_proxy
#########修改zabbix_proxy中的BINARY_NAME=zabbix_proxy [[email protected] init.d] # vim zabbix_proxy
#!/bin/bash # # chkconfig: - 90 10 # description: Starts and stops Zabbix Server using chkconfig # Tested on Fedora Core 2 - 5 # Should work on all Fedora Core versions # # @name: zabbix_server # @author: Alexander Hagenah <[email protected]> # @created: 18.04.2006 # # Modified for Zabbix 2.0.0 # May 2012, Zabbix SIA # # Source function library. . /etc/init .d /functions
# Variables # Edit these to match your system settings # Zabbix-Directory
BASEDIR= /usr/local
# Binary File
BINARY_NAME=zabbix_proxy
[[email protected] init.d] # chmod +x zabbix_*
[[email protected] init.d] # chkconfig --add zabbix_proxy
[[email protected] init.d] # chkconfig --add zabbix_agetnd
[[email protected] init.d] # chkconfig zabbix_proxy on
[[email protected] init.d] # chkconfig zabbix_agentd on
[[email protected] init.d] # ln -s /usr/local/zabbix/sbin/* /usr/local/sbin
[[email protected] init.d] # /etc/init.d/zabbix_proxy restart
Shutting down zabbix_proxy: [ OK ] Starting zabbix_proxy: [ OK ] |
(三)在zabbix客户端agent配置
在被监控的agnet端的配置文件设置Server=proxy_IP后并重启服务
1
2
3
4
5
6
|
[[email protected] etc] # grep -vP '^$|#' zabbix_agentd.conf
LogFile= /tmp/zabbix_agentd .log
Server=192.168.200.18 ListenPort=10050
ServerActive=192.168.200.18 Hostname=192.168.180.18 |
(四)Zabbix服务端 WEB界面上进行如下配置
4.1,新建代理服务器,管理--agent代理程序--创建代理
4.3,新建监控主机并选择相应的模板。配置--主机--新建主机。
4.4,点击确定后再监控图形中查看出图效果。
本文转自 lqbyz 51CTO博客,原文链接:http://blog.51cto.com/liqingbiao/1979710