一、proxy分布式监控介绍

来源于zabbix官网:

https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitoring/proxies

zabbix通过Zabbix proxies为IT基础设施提供有效和可用的分布式监控

代理(proxies)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器

当选择使用/不使用proxy时,必须考虑几个注意事项

 

Proxy

轻量级(Lightweight)

Yes

图形界面(GUI)

No

独立工作(Works independently)

Yes

易于维护(Easy maintenance)

Yes

自动生成数据库(Automatic DB creation)1

Yes

本地管理(Local administration)

No

准备嵌入式硬件
(Ready for embedded hardware)

Yes

单向TCP连接(One way TCP connections)

Yes

集中配置(Centralised configuration)

Yes

生成通知(Generates notifications)

No

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力。此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法

zabbix proxy 使用场景:

监控远程区域设备

监控本地网络不稳定区域

当 zabbix 监控上千设备时,使用它来减轻 server 的压力

简化分布式监控的维护

zabbix proxy 仅仅需要一条 tcp 连接到 zabbix server,所以防火墙上仅仅需要加上一条规则即可

zabbix proxy 数据库必须和 server 分开,否则数据会被破坏

proxy 收集到数据之后,首先将数据缓存在本地,然后在一定的时间之后传递给 zabbix server,这样就不会因为服务器的任何临时通信问题而丢失数据。这个时间由 proxy配置文件中参数 ProxyLocalBuffer 和 ProxyOfflineBuffer 决定

注意从Zabbix server数据库直接更新最新配置的proxy可能会比Zabbix server新,而Zabbix server的配置由于 CacheUpdateFrequency 的原因而无法快速更新。因此,proxy收集发送Zabbix server数据可能会被忽略

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。有关proxy功能的概述,如下表:

功能

proxy支持(yes/no)

项目(Items)

 
 

Zabbix agent checks

Yes

Zabbix agent checks (active)

Yes 1

Simple checks

Yes

Trapper items

Yes

SNMP checks

Yes

SNMP traps

Yes

IPMI checks

Yes

JMX checks

Yes

日志文件监控(Log file monitoring)

Yes

内部检查(Internal checks)

Yes

SSH checks

Yes

Telnet checks

Yes

外部检查(External checks)

Yes

内置web监控(Built-in web monitoring)

Yes

网络发现(Network discovery)

Yes

自动发现(Low-level discovery)

Yes

触发器计算(Calculating triggers)

No

处理事件(Processing events)

No

发送报警(Sending alerts)

No

远程命令(Remote commands)

No

二、分布式监控部署

环境说明

系统版本     CentOS 7.2 x86_64

软件版本        zabbix 3.0.18

机器角色及ip

zabbix server    10.0.0.63

zabbix proxy    eth0:10.0.0.65    eth1:192.168.1.65

zabbix agent    192.168.1.66

通过zabbix proxy的搭建,zabbix server可以远程从proxy获取到数据,这里的环境相当于zabbix server具有一个公网ip地址,zabbix agent只具有内网地址,zabbix proxy具有外网地址和内网地址,搭建zabbix proxy使zabbix server能通过proxy远程获取到zabbix agent的数据

1、配置zabbix proxy

1.1 安装并配置zabbix的源

[root@zabbix-proxy ~]# rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm            #安装源

[root@zabbix-proxy ~]# vim /etc/yum.repos.d/zabbix.repo    #修改配置文件,将地址改为清华的

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/$basearch/

……

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/

……

[root@zabbix-proxy ~]# yum makecache        #更新缓存

1.2 安装配置zabbix proxy

[root@zabbix-proxy ~]# yum install -y zabbix-proxy-mysql    #安装zabbix-proxy

[root@zabbix-proxy ~]# yum install -y mariadb-server        #安装数据库

[root@zabbix-proxy ~]# systemctl start mariadb.service         #启动数据库

[root@zabbix-proxy ~]# systemctl enable mariadb.service        #开机启动

[root@zabbix-proxy ~]# mysql                            #登录数据库

create database zabbix_proxy default charset utf8;

MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;    #创库

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by '123456';    #授权

MariaDB [(none)]> exit

[root@zabbix-proxy ~]# rpm -ql zabbix-proxy-mysql|grep sql

/usr/sbin/zabbix_proxy_mysql

/usr/share/doc/zabbix-proxy-mysql-3.0.18

/usr/share/doc/zabbix-proxy-mysql-3.0.18/AUTHORS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/COPYING

/usr/share/doc/zabbix-proxy-mysql-3.0.18/ChangeLog

/usr/share/doc/zabbix-proxy-mysql-3.0.18/NEWS

/usr/share/doc/zabbix-proxy-mysql-3.0.18/README

/usr/share/doc/zabbix-proxy-mysql-3.0.18/schema.sql.gz

[root@zabbix-proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.18/                #导入数据库

[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# zcat schema.sql.gz | mysql -uzabbix -p123456 zabbix_proxy

[root@zabbix-proxy zabbix-proxy-mysql-3.0.18]# cd

[root@zabbix-proxy ~]# vim /etc/zabbix/zabbix_proxy.conf        #修改zabbix-proxy的配置文件

24 Server=10.0.0.63    #zabbix-server的地址

43 Hostname=zabbix-proxy        #主机名

128 DBHost=localhost            #数据库主机

139 DBName=zabbix_proxy        #数据库名称

154 DBUser=zabbix            #数据库用户名

162 DBPassword=123456        #数据库密码

配置文件中没有配置的内容如下:(有需要可以配置)

# ProxyLocalBuffer=0

#数据保留的时间(小时为单位)

# ProxyOfflineBuffer=1

#连不上Server,数据要保留多久(小时为单位,默认1小时)

# DataSenderFrequency=1

#数据的发送时间间隔(默认是1秒)

# StartPollers=5

#启动的线程数

# StartIPMIPollers=0

#启动IPMI的线程数

[root@zabbix-proxy ~]# systemctl start zabbix-proxy.service         #启动zabbix-proxy

[root@zabbix-proxy ~]# systemctl enable zabbix-proxy.service        #开机启动

2、server端的web界面添加zabbix proxy

配置——>anget代理程序——>创建代理

agent代理程序名称和proxy代理的主机名相同

proxy代理添加后,等待发现代理,如果不能及时发现代理,可以通过查看server和proxy的日志进行检查

[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log

[root@zabbix-proxy ~]# tail -f /var/log/zabbix/zabbix_proxy.log

[root@zabbix-server ~]# systemctl restart zabbix-server.service        #重启server端服务

[root@zabbix-proxy ~]# systemctl restart zabbix-proxy.service        #再重启proxy端服务

Web界面进行检查,代理成功添加

3、安装配置zabbix-agent

由于agent端只有一个内网卡,不能上网,要安装zabbix-agent可以采取的方法有:

a、将proxy配置为路由器和agent的网关,使agent通过proxy上网安装

b、在proxy端下载好agent程序发送到agent端再安装

这里选择方法b

在proxy下载并发送

[root@zabbix-proxy ~]# wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.18-1.el7.x86_64.rpm

[root@zabbix-proxy ~]# scp zabbix-agent-3.0.18-1.el7.x86_64.rpm root@192.168.1.66:/root/

root@192.168.1.66's password:

zabbix-agent-3.0.18-1.el7.x86_64.rpm 100% 341KB 341.4KB/s 00:00

agent端yum本地安装

[root@zabbix-agent ~]# yum localinstall -y zabbix-agent-3.0.18-1.el7.x86_64.rpm

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agentd.conf            #修改配置文件

95 Server=192.168.1.65            #服务端即proxy的ip地址,内网地址

147 Hostname=192.168.1.66        #填写主机名称,或填写为ip地址便于区分

[root@zabbix-agent ~]# systemctl start zabbix-agent.service             #启动zabbix-agent

[root@zabbix-agent ~]# systemctl enable zabbix-agent.service            #开机启动

4、server端的web界面添加主机

配置——>主机——>创建主机

主机名称和agent端配置文件中相同,选择代理

为主机链接模板

5、检验

等待添加的主机变绿,变绿之后查看最新数据

若不能及时变绿,则需要重启服务或使用命令zabbix_server -R config_cache_reload刷新配置缓存

至此,zabbix跨网段通过proxy代理监控主机配置完成!

 

博主原创文章,转载请务必注明出处

zabbix proxy分布式监控部署的更多相关文章

  1. Zabbix Proxy 分布式监控

    简介: Zabbix 是一个分布式监控系统,它可以以一个中心点.多个分节点的模式运行,使用 proxy 能降低 Zabbix Server 的压力,当然也带来了成本~ 适用范围:跨机房.跨地域的网络监 ...

  2. (33)zabbix proxy分布式监控配置

    概述 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  3. zabbix分布式监控部署--技术流ken

    前言 zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix pr ...

  4. 017-zabbix_proxy分布式监控部署

    一.proxy分布式监控介绍 来源于zabbix官网: https://www.zabbix.com/documentation/3.4/zh/manual/distributed_monitorin ...

  5. 【Zabbix】分布式监控系统Zabbix【一】

    一.Zabbix功能及特性简介 Zabbix可以获取cpu,内存,网卡,磁盘,日志等信息 1.Zabbix数据收集方式: a.Agent客户端(Agent客户端支持多平台部署) b.如果是无法安装客户 ...

  6. ganglia分布式监控部署

    一.介绍        Ganglia是由UC Berkeley发起的一个开源监控项目,设计用于监控数以千几的节点.每台服务器都运行一个收集和发送监控数据名为gmond的守护进程.它将从操作系统和指定 ...

  7. 【Zabbix】分布式监控系统Zabbix【二】

    一.Zabbix基本操作 1.主机群组.主机.模板.触发器 a.创建主机群组和主机的过程比较简单,不再介绍 b.配置模板: 创建一个模板,将其分组到Template组,添加配置应用: 给应用创建监控项 ...

  8. zabbix监控-部署(一)

    zabbix之自动化监控-部署篇(一) 标签(空格分隔): linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 浅谈监控 监控命令 查看硬件的温度/风扇转 ...

  9. 8、zabbix监控方式及分布式监控(04)

    zabbix支持的监控方式 zabbix所能够显示的且可指定为监控接口类型的监控方式: Agent passive active SNMP:Simple Network Management Prot ...

随机推荐

  1. 《R语言实战》读书笔记--第二章 创建数据集

    2.1数据集的概念 变量的类型是不同的,比如标示符.日期变量.连续变量.名义变量.有序型变量等,记得数据挖掘导论中有专门的描述. R可以处理的数据类型包括了数值型.字符型.逻辑型.复数型(虚数).原生 ...

  2. HCNA--tcp/ip基础

    1.OSI七层参考模型 应用层 7 表示层 6  高层:负责主机之间的的数据传输 会话层 5 传输层 4 主机之间端到端的连接 tcp /udp segment 网络层 3 路由 寻址  packet ...

  3. bzoj 2159 - Crash 的 文明世界

    Description 给定一棵\(n\le 10^5\)的树, 和\(k\le 150\) 求每个点\(x\)的\[S(x) = \sum_{y=1}^n dis(x, y) ^ k\] Analy ...

  4. 01深入理解C指针之---指针含义符号

    该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 1.指针的含义: 指针本身也是变量,与其他一般变量不同的是:指针变量中没有存储具体类型 ...

  5. MFC 菜单操作

    在CMainFrame中OnCreate函数中添加下列:(注意在return(0)前添加) 在文件,新建前打钩 法1: GetMenu()->GetSubMenu(0)->CheckMen ...

  6. HTTP GET与POST区别

    HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST. HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语 ...

  7. APscheduler总结

    APscheduler使用总结 APscheduler是执行定时任务的python库,其作用可以代替Linux系统下的crontab,github上有该库的例子. APsheduler基本使用 该模块 ...

  8. 关于 Delphi 中流的使用(1) 用 TMemoryStream(内存流) 入门 &&& 关于指针的迷惑,我自己问的.

    来自:http://www.cnblogs.com/del/archive/2008/01/01/1022124.html -------------------------------------- ...

  9. 第三步:搭建JAVA项目

    创建一个JAVA项目,如图: 然后给项目起一个名字,直接点击完成. 下载lucene包解压后放到JDK安装后的lib文件夹里,如图: 首先要导入lucene包,对准项目名右击>构建路径>配 ...

  10. ubuntu 安装TensorFlow

    1.安装pip $ sudo apt-get install python-pip python-dev 2.安装 TensorFlow for Python 2.7 # Ubuntu/Linux - ...