Zabbix监控(十六):分布式监控-Zabbix Proxy-linux安全运维_跨零代码

跨零代码为大家提供高品质的运维解决方案,请大家多多来访,跨零不胜感激,在此谢过。

说明:Zabbix支持分布式监控,利用Proxy代理功能,在其他网络环境中部署代理服务器,将监控数据汇总到Zabbix主服务器,实现多网络的分布式监控,集中监控。

1、分布式监控原理

Zabbix监控(十六):分布式监控-Zabbix Proxy

Zabbix proxy和Zabbix server一样,各自监控自己网络内的设备,Proxy将监控数据传给Server,管理员在Server上就可以集中监控了。Proxy可以有多个、可以跨公网、可以跨地域限制,能有效分担Server的资源负载。

2、Zabbix Proxy安装环境参考

http://ywzhou.blog.51cto.com/2785388/1578211

Proxy 主机名:Zabbix proxy

Proxy IP地址:10.99.1.22

Proxy 所在网络的公网IP:xxx.xxx.xxx.67

Server 主机名:zabbix.ewin.com

Server IP地址:10.188.1.103

Server所在网络的公网IP:xxx.xxx.xxx.135

3、安装Zabbix Proxy

1
2
3
4
5
6
7
8
[root@proxy ~]# useradd zabbix -s /sbin/nologin
[root@proxy ~]# mkdir /home/zabbix
[root@proxy ~]# cd /home/zabbix
[root@proxy zabbix]# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.5/zabbix-2.2.5.tar.gz
[root@proxy zabbix]# tar zvxf zabbix-2.2.5.tar.gz
[root@proxy zabbix]# cd zabbix-2.2.5
[root@proxy zabbix-2.2.5]# ./configure –prefix=/usr/local/zabbix –enable-agent –enable-proxy –with-mysql –with-net-snmp –with-libcurl
[root@proxy zabbix-2.2.5]# make install

说明:使用的安装包和Server端安装的一样,不同的是编译内容,这里只开启了agent和proxy两个功能。

4、配置mysql

1
2
3
4
5
6
[root@proxy zabbix-2.2.5]# mysql -uroot -p
mysql>create database zabbix character set utf8;
mysql>GRANT ALL ON zabbix.* TO zabbix@’localhost’ IDENTIFIED BY ‘zabbix’;
mysql>flush privileges;
mysql>quit
[root@proxy zabbix-2.2.5]# mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql

5、配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@proxy zabbix-2.2.5]# vi /usr/local/zabbix/etc/zabbix_proxy.conf
Server=xxx.xxx.xxx.135  #我这里设置的是Zabbix Server所在网络的公网IP地址
Hostname=Zabbix proxy  #Proxy主机名,在zabbix web会以这个名字为准
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ProxyLocalBuffer=0     #设定为0小时,除非有其他第三方应用和插件需要调用
ProxyOfflineBuffer=1   #proxy或者server无法连接时,保留离线的监控数据的时间,单位小时
ConfigFrequency=600    #server和proxy配置修改同步时间间隔,设定5-10分钟即可。
DataSenderFrequency=10 #数据发送时间间隔,10-30s;
                       #网络传输质量越好,可以设定间隔时间越短,监控效果也越迅速;
StartPollers=10        #开启多线程数,一般不要超过30个;
StartPollersUnreachable=1 #该线程用来单独监控无法连接的主机,1个即可;
StartTrappers=10       #trapper线程数
StartPingers=1         #ping线程数
CacheSize=64M          #用来保存监控数据的缓存数,根据监控主机数量适当调整;
Timeout=10             #超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间;
TrapperTimeout=30      #同上

6、启动服务

1
2
3
4
5
6
[root@proxy zabbix-2.2.5]# /usr/local/zabbix/sbin/zabbix_proxy
[root@proxy zabbix-2.2.5]# echo “/usr/local/zabbix/sbin/zabbix_proxy -c /usr/local/zabbix/etc/zabbix_proxy.conf” >> /etc/rc.local
[root@proxy zabbix-2.2.5]# touch /tmp/zabbix_proxy.log
[root@proxy zabbix-2.2.5]# netstat -anp|grep 10051
[root@proxy zabbix-2.2.5]# iptables -I INPUT -p tcp –dport 10051 -j ACCEPT
[root@proxy zabbix-2.2.5]# service iptables save

7、端口映射

代理服务器和主服务器分属不同的网络,因此需要把服务器的端口映射到公网上:

Zabbix监控(十六):分布式监控-Zabbix Proxy

说明:上图是Zabbix Server所在网络的出口路由器设置端口映射,将公网IP地址xxx.xxx.xxx.135的端口10051映射到Zabbix Server的端口10051上,以便代理服务器上传监控数据。

8、配置Zabbix server添加代理

(1)设置代理模式为“主动模式”

Zabbix监控(十六):分布式监控-Zabbix Proxy    说明:代理主机名称要和proxy配置文件中设定相同,主动模式Active表示proxy主动将数据发送给server,server需要将端口映射到公网,proxy通过server公网IP+端口进行连接与上传数据。

(2)“被动模式”

代理模式还可以设成Passive被动模式,表示server主动从proxy拉取数据,与“主动模式”相反,需要在代理服务器所在网络的路由器上设置端口映射,将代理的10051端口映射到公网上,这样server才能连接proxy。

Zabbix监控(十六):分布式监控-Zabbix Proxy

(3)添加监控主机,设置代理监控

Zabbix监控(十六):分布式监控-Zabbix Proxy

说明:在DM中设置代理模式为“主动模式”后,在监控主机属性页面中的Monitored by proxy就可以选择代理了。

被代理监控的主机10.99.1.5必须安装好zabbix agent,配置文件设置zabbix server为proxy的IP或主机域名;zabbix agent安装参考:

http://ywzhou.blog.51cto.com/2785388/1579165

http://ywzhou.blog.51cto.com/2785388/1579060

9、查看添加好的监控主机(代理)

Zabbix监控(十六):分布式监控-Zabbix Proxy

从零到一,创造未来!跨零代码综合IT问题解决服务站,欢迎你的到来。运维教程 只为你绽放。

本文固定链接: http://kua0.com/2019/02/05/zabbix监控十六:分布式监控-zabbix-proxy-linux安全运维_跨零代码/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注