Zabbix分布式监控
zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.zabbix proxy 可以非常简便的实现了集中式、分布式监控。
zabbix proxy 使用场景:
监控远程区域设备
监控本地网络不稳定区域
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
简化 zabbix 的维护
Zabbix_proxy只需要一条tcp链接到zabbix_server,只需要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,否则数据会被破坏。因为这两个数据库的表大部分相同。
Zabbix_proxy收集的所有数据在传输到服务器之前都存储在本地。然后再一定时间之后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。
Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报。
备注:使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
2.分布式部署
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<code>(1)安装zabbix-proxy-mysql和mariadb</code>
<code>[root@linux-node3 ~]</code><code># yum list|grep zabbix-proxy-mysql</code>
<code>[root@linux-node3 ~]</code><code># yum install -y zabbix-proxy-mysql</code>
<code>[root@linux-node3 ~]</code><code># yum install -y mariadb</code>
<code>[root@linux-node3 ~]</code><code># systemctl enable mariadb.service</code>
<code>[root@linux-node3 ~]</code><code># systemctl start mariadb.service</code>
<code>(2)创建zabbix_proxy库</code>
<code>[root@linux-node3 ~]</code><code># mysql</code>
<code>Welcome to the MariaDB monitor. Commands end with ; or \g.</code>
<code>Your MariaDB connection </code><code>id</code> <code>is 11579</code>
<code>Server version: 5.5.56-MariaDB MariaDB Server</code>
<code>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.</code>
<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>
<code>MariaDB [(none)]> create database zabbix_proxy CHARATER </code><code>set</code> <code>utf8 COLLATE utf8_bin;</code>
<code>MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@</code><code>'localhost'</code> <code>identified by </code><code>'zabbix'</code><code>;</code>
<code>MariaDB [(none)]> </code><code>exit</code><code>;</code>
<code>Bye</code>
<code>(3)导入数据库</code>
<code>[root@linux-node3 ~]</code><code># rpm -ql zabbix-proxy-mysql</code>
<code>[root@linux-node3 ~]</code><code># zcat /usr/share/doc/zabbix-proxy-mysql-3.0.8/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy</code>
<code>[root@linux-node3 ~]</code><code># mysql -uzabbix -pzabbix -e "use zabbix_proxy;show tables;"</code>
<code>(4)修改zabbix_proxy配置文件</code>
<code>[root@linux-node3 ~]</code><code># vim /etc/zabbix/zabbix_proxy.conf</code>
<code>ProxyMode=0 </code><code>#使用主动模式,1为被动模式,默认为主动模式,web前端也配置主动模式</code>
<code>Server=192.168.56.11 </code><code>#填写zabbix-server的ip地址</code>
<code>ServerPort=10051 </code><code>#zabbix的端口</code>
<code>HostnameItem=system.</code><code>hostname</code>
<code>DBHost=localhost</code>
<code>DBName=zabbix_proxy</code>
<code>DBUser=zabbix</code>
<code>DBPassword=zabbix</code>
<code>Timeout=15</code>
<code>配置文件中没有配置的内容如下:(有需要可以配置)</code>
<code># ProxyLocalBuffer=0</code>
<code>#数据保留的时间(小时为单位)</code>
<code># ProxyOfflineBuffer=1</code>
<code>#连不上Server,数据要保留多久(小时为单位,默认1小时)</code>
<code># DataSenderFrequency=1</code>
<code>#数据的发送时间间隔(默认是1秒)</code>
<code># StartPollers=5</code>
<code>#启动的线程数</code>
<code># StartIPMIPollers=0</code>
<code>#启动IPMI的线程数</code>
<code>(5)启动服务并检查端口</code>
<code>[root@linux-node3 ~]</code><code># systemctl start zabbix-proxy.service</code>
<code>[root@linux-node3 ~]</code><code># netstat -tulnp |grep 10051</code>
<code>(6)创建proxy</code>
<code>"Administration"</code><code>--></code><code>"Proxies"</code><code>--></code><code>"Create proxy"</code>
<code>(7)修改agent的配置</code>
<code>[root@linux-node2 ~]</code><code># grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf </code>
<code>PidFile=</code><code>/var/run/zabbix/zabbix_agentd</code><code>.pid</code>
<code>LogFile=</code><code>/var/log/zabbix/zabbix_agentd</code><code>.log</code>
<code>LogFileSize=0</code>
<code>DebugLevel=5</code>
<code>Server=192.168.56.13 </code><code>#指向zabbix_proxy </code>
<code>ServerActive=192.168.56.13 </code><code>#指向zabbix_proxy </code>
<code>HostMetadata=web</code>
<code>Include=</code><code>/etc/zabbix/zabbix_agentd</code><code>.d/*.conf</code>
<code>[root@linux-node2 ~]</code><code># systemctl restart zabbix-agent.service</code>
版权声明:原创作品,谢绝转载。否则将追究法律责任
本文转自 IT_外卖小哥 51CTO博客,原文链接:http://blog.51cto.com/jinlong/2051966