前言

zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控.

zabbix proxy使用场景:

  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当zabbix监控上千设备时,使用它来减轻server的压力
  • 简化zabbix的维护

zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可.zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。

proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server.这个时间由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定.

备注:使用agent active模式,一定要记住在agent的配置文件参数ServerActive加上proxy的IP地址.切记

zabbix分布式监控部署演示

zabbix服务器端:10.220.5.13

zabbix代理服务器端:10.220.5.138

zabbix被监控节点:10.220.5.139

配置代理服务器端

第一步:下载zabbix-proxy软件

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

第二步:导入文件到数据库

[root@proxy ~]# rpm -ql zabbix-proxy-mysql
/usr/share/doc/zabbix-proxy-mysql-3.0./schema.sql.gz
[root@proxy ~]# cp /usr/share/doc/zabbix-proxy-mysql-3.0./schema.sql.gz ./
[root@proxy ~]# gunzip schema.sql.gz

第三步:登录数据库

[root@proxy ~]# mysql -uroot -p123
MariaDB [(none)]> create database zabbix;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /root/schema.sql
MariaDB [zabbix]> grant all on *.* to zabbix@localhost identified by '';

第四步:修改配置文件

[root@proxy ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 #开启主动模式
Server=10.220.5.13 #指向主监控服务器端
HostnameItem=system.hostname #主机名自动获取
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix #代理节点自己的数据库
DBUser=zabbix
DBPassword=
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=

第五步:重启

[root@proxy ~]# systemctl restart zabbix-proxy

配置被监控客户端

第一步:下载客户端

[root@agent ~]# yum install zabbix-agent -y

第二步:配置客户端文件

客户端不需要开启serveractive,否则会一直尝试给监控的主机点发信息。

[root@agent ~]# grep -v -E '^#|^$' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=
Server=10.220.5.138 #指向代理服务器端
HostnameItem=system.hostname #主机名自动获取
Include=/etc/zabbix/zabbix_agentd.d/

第三步:不要重启

配置完zabbix-proxy之后不要重启!!

等配置完zabbix网页后再重启!!

配置zabbix的网页端

第一步:添加主机

添加被监控节点的主机

点击创建主机

主机名称可以随便填写

这里填写的是被监控节点的IP地址

这里的选择无代理程序,现在也只有这个选项

待会创建一个代理之后他会自动补上去

第二步:创建代理

点击创建代理

注意:

1.代理程序名称代理服务器的主机名,不需要在主机上面解析,但是一定确保是代理服务器的主机名

现在代理服务器端10.220.5.138的主机名为proxy,所以下面的代理程序名称就是proxy

2.选择主动式

3.加入你想要代理的被监控节点。前提是这个被监控节点的server指向了代理服务器节点

第三步:重启zabbix-proxy

代理服务器端一定要在网页端配置完成之后才能重启!

[root@proxy ~]# systemctl restart zabbix-proxy

第四步:查看

可以发现原本server指向10.220.5.138代理服务器端的被监控节点,现在也能被10.220.5.13监控了

名称也变成    代理服务器名称:主机名

zabbix分布式监控部署--技术流ken的更多相关文章

  1. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  2. 分布式系统监视zabbix讲解六之自定义监控项--技术流ken

    宏 概述 Zabbix支持许多在多种情况下使用宏.宏是一个变量,由如下特殊语法标识: {MACRO} 根据在上下文中, 宏解析为一个特殊的值. 有效地使用宏可以节省时间,并使Zabbix变地更加高效. ...

  3. MariaDB Galera集群部署--技术流ken

    Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 ...

  4. 分布式系统监视zabbix讲解七之分布式监控--技术流ken

    分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...

  5. zabbix实现百台服务器的自动化监控--技术流ken

    前言 最近有小伙伴通过Q联系到我说:公司现在有百多台服务器,想要部署zabbix进行监控,怎么实现自动化全网监控? 本篇博客将讲解一个我工作时做的一个实际项目,现在写出来供大家以后参考使用. 实现自动 ...

  6. k8s集群监控(十一)--技术流ken

    Weave Scope   在我之前的docker监控中<Docker容器监控(十)--技术流ken>就已经提到了weave scope. Weave Scope 是 Docker 和 K ...

  7. zabbix实现QQ邮件报警通知--技术流ken

    前言 前几天搜了下网上使用zabbix邮件报警通知的文章,大多数还是使用mailx的方法,过程配置起来比较冗余繁琐,这几天想着把自己平时用到的qq邮件报警的方法分享出来供大家参考,以此减少不必要的步骤 ...

  8. Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(二)--技术流ken

    项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)--技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个 ...

  9. 分布式系统监视zabbix讲解二之邮件报警通知--技术流ken

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

随机推荐

  1. python time库

    https://www.cnblogs.com/tkqasn/p/6001134.html

  2. Lab keepalived

    [root@node1 keepalived]#cat keepalived.conf ! Configuration File for keepalived global_defs { notifi ...

  3. TYVJ1424-占卜DIY

    题目有点长,对于样例最好拿张A4纸模拟写一遍. 可以发现程序一定不会死循环,因为每种牌都是4张,而死循环的条件是某种牌有5张然后你拿了又放进去.如果写出来死循环了,那就是写不对了. 有几点可能是需要注 ...

  4. Oracle 12c client with .NET legacy Oracle driver

    如果使用Oracle 12c Client和.NET的Oracle driver,你很可能会碰到跟下面一样的问题: https://www.codeproject.com/Questions/8767 ...

  5. [转载]DevOps在传统企业的落地实践及案例分享

    内容来源:2017年6月10日,优维科技高级解决方案架构师黄星玲在“DevOps&SRE 超越传统运维之道”进行<DevOps在传统企业的落地实践及案例分享>演讲分享.IT 大咖说 ...

  6. 深度学习Tensorflow生产环境部署(上·环境准备篇)

    最近在研究Tensorflow Serving生产环境部署,尤其是在做服务器GPU环境部署时,遇到了不少坑.特意总结一下,当做前车之鉴. 1 系统背景 系统是ubuntu16.04 ubuntu@ub ...

  7. SpringMVC 全局异常处理

    在 JavaEE 项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦合度 ...

  8. h5面试题

    一.匿名函数实现阶乘第一种写法: 43 > F = fun(Func, 1) -> 1;43 > (Func, N) -> N * Func(Func, N - 1) end. ...

  9. MQ 简单的使用

    需要创建两个控制台应用 引用用下面的包 (1)生产者 static void Main(string[] args) { ConnectionFactory factory = new Connect ...

  10. python 中argparse 实例解析

    一 概念: argparse是python的一个命令行解析包.它可以使写用户友好的命令行接口变得非常容易.该模块定义什么参数是需要的,并且能指出怎么解析sys.argv的参数.它也可以自动的生成帮助和 ...