介绍Zabbix的两种监控模式(主动模式和被动模式)
Zabbix agent检测分为两种模式:主动模式和被动模式
被动模式,也是默认的Zabbix监控模式,被动模式是相对于proxy来说的。proxy主动发送数据就是主动模式,proxy等待server的请求再发送数据就是被动模式。主动模式有个好处就是可以有效减轻Zabbix server的压力,当我们监控数以百计的主机时,由于Zabbix压力过大,所以server存在不能及时获取到最新数据的问题,这时将监控模式改为主动模式可以解决这个问题。
使用zabbix主动模式的好处:可以监控不可达的远程设备;监控本地网络不稳定区域;当监控项目数以万计的时候使用代理可以有效分担zabbix server的压力;简化zabbix分布式监控的维护。
定义:
被动模式:由server向agent发出指令获取数据, 即agent被动的去获取数据并返回给server,server周期性的向agent 索取数据, 这总模式的最大问题就是会加大server的工作量, 在数百台服务器的环境下server不能及时获取到最新数据, 但这也是默认的工作方式。
主动模式:由agent主动采集数据并返回给zabbix server,不需要server进行干预, 主动模式在一定程度上可减轻server的压力。
被动模式的配置:
默认的方式
实验环境:
172.25.1.1 zabbix-server server
172.25.1.11 zabbix-agent test1
172.25.1.2 zabbix-agent server2
这里可以用两台主机做实验
zabbix-server的配置同上篇文章,这里不再赘述
zabbix-agent:
[root@server2 ~]# ls //提前下载好agent包
zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@server2 ~]# yum install -y zabbix-agent-3.4.6-1.el7.x86_64.rpm
[root@server2 ~]# hostname
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@server2 zabbix]# vim zabbix_agentd.conf //修改配置文件
[root@server2 ~]# systemctl start zabbix-agent
[root@server2 zabbix]# netstat -antlp | grep zabbix
进行主动模式配置:
打开web浏览器,打开数据库、zabbix-server
访问172.25.1.1/zabbix并进行主机手动添加:
点击导向栏的“配置”——>"主机"——>由上角“创建主机”
填写主机部分
填写模版部分
选择链接指示器,选择“Template OS Linux”
点击上面的“添加”——>点击下面的“添加”
此时可以看到server2已经添加到监控主机上
test1也可以以相同的方式进行添加
主动模式的配置:
目的:进行proxy代理,可以减轻agent端的负载
主动模式的配置:proxy仅需要一条tcp连接到server,所以防火墙上仅仅需要加上一条规则即可,proxy数据库必须和server分开,否则数据会被破坏。proxy收集到数据之后,首先将数据缓存在本地,然后在一定时间之后传递给server,这个时间由proxy配置文件决定。proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警。
实验环境:
172.25.1.1 zabbix-server server
172.25.1.11 zabbix-agent test1
172.25.1.2 zabbix-agent zabbix-proxy server2
[root@server2 ~]# ls
[root@server2 ~]# yum install -y zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm
[root@server2 ~]# yum install mysql-server -y
[root@server2 ~]# systemctl start mariadb
[root@server2 ~]# mysql_secure_installation //初始化数据库,设置root密码
[root@server2 ~]# mysql -uroot -p
Enter password:
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 'proxy';
[root@server2 ~]# cd /etc/zabbix/
[root@server2 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@server2 zabbix]# vim zabbix_proxy.conf
[root@server2 ~]# systemctl start zabbix-proxy
[root@server2 ~]# cd /usr/share/doc/
[root@server2 doc]# cd zabbix-proxy-mysql-3.4.6/
[root@server2 zabbix-proxy-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@server2 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password: //这里的密码为授权时的密码,笔者这里设置的是proxy
[root@server2 zabbix-proxy-mysql-3.4.6]# mysql -uroot -p //查看数据是否导入
网页删除server2主机
选择“管理”——>"agent代理程序"——>"创建代理"
选择”主动式“——>点击“添加”
agent(test1)端:
[root@test1 ~]# vim /etc/zabbix/zabbix_agentd.conf //由于此时server不再是172.25.1.1,而是172.25.1.2(即proxy),所以要修改配置文件
[root@test1 ~]# /etc/init.d/zabbix-agent restart
回到web界面:
此时,可以看到主机有代理
到此,两中模式就介绍完啦!!!
相关文章:

【Step By Step】将Dotnet Core部署到Docker下
一、使用.Net Core构建WebAPI并访问Docker中的Mysql数据库 这个的过程大概与我之前的文章《尝试.Net Core—使用.Net Core Entity FrameWork Core构建WebAPI(一)》一致。 但是在我们这里,由于docker中无法部署sql server,所以我采…

ipad无法与itunes同步,提示因为这台电脑不再被授权使用在此ipad上购买的项目解决方案...
1、iOS设备用数据线连接到电脑;2、打开电脑上的iTunes 11,按CtrlB键调出菜单栏,按CtrlS键调出边栏;在边栏的 设备 下面看到你的iOS设备;3、点击菜单栏中的商店,点击 对这台电脑授权,输入你的App…

iOS根据字节数截取字符串
最近项目有个需求,文章的作者最多显示7个中文字,英文字符算半个中文字,超过7个中文字,则显示:前7个中文字...,使用NSString的length方法,不管是一个中文还是英文字符,都是返回1。因此…

搭建Zabbix分布式监控
1、实现zabbix监控nginx 实验环境: server1 172.25.1.1 server redhat7 test1 172.25.1.11 agent redhat7 在“手动添加”主机的基础上进行扩展 开启服务: [rootserver ~]# systemctl…

Codeforces Round #372 (Div. 2), problem: (B) Complete the Word
水题,每次截取长度为26的字符串,然后直接进行修改就可以 然而本弱渣昨天wa看很久 include<bits/stdc.h> using namespace std; int n,c; int ans[30]; int main() { string s; cin>>s; int tt0; int ns.size(); if(n<26) { cout<<&…

百练 2973 Skew数 解题报告
思路: 计算出每一个skew数的不同位数表示的权值,然后用该位与权值相乘。用int数组来装权值,用char数组来装skew数。 代码: #include<stdio.h> #include<string.h> int main() {int i, k, sum;int base[32];char skew[…

【Python】在Mac系统中安装Pygame
我们通过Homebrew来安装Pygame,Homebrew是Mac OSX上的软件包管理工具,如果还没安装Homebrew,将以下命令粘贴至终端先安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install…

zabbix部署onealert云警告平台
onealert告警功能 告警 All In One,支持微信、邮箱、短信、APP、电话告警支持接入 Zabbix、Nagios、阿里云、腾讯云、监控宝等等告警信息灵活的分配策略,可灵活的分配告警信息发送给相关人员微信、邮箱、app 等告警方式全部免费实验环境: 首…

StringBuilder、StringBuffer、String区别
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天重新把这个概念给大家复习一下,顺便牵出 J2SE5.0 里面带来的一个新的字符操作的类—— StringBuilder …

Class中isAssignableFrom() 方法
看Spring源码的时候看到这个方法: 1 protected WebApplicationContext createWebApplicationContext(ServletContext sc) { 2 Class<?> contextClass determineContextClass(sc); 3 if (!ConfigurableWebApplicationContext.class.isAs…
【iOS】iOS10.3新增API:应用内评分
1、需求 在iOS10.3以前,APP引导用户评分时需要跳转到AppStore中操作,并且AppStore在国内有时加载会较慢,即便有的用户想给APP好评,但是等了几秒钟评分页面还没加载出来从而放弃。在iOS10.3中,苹果新增了APP内评分的新…

dhcp动态主机配置协议
dhcp简介: 动态主机设置协议(Dynamic Host Configuration Protocol,DHCP)是一个局域网的网络协议,使用UDP协议工作,计算机网络应用层协议。 主要有两个用途:用于内部网或网络服务供应商自动分配…

JSONP--解决ajax跨域问题
取不到数据! 上周客户新买了服务器,原本在旧的服务器上放着客户的Web主页信息和一个后台程序(asp.net),在客户的主页中有一个动态显示最新消息的处理,这个处理就是通过ajax异步从那个后台程序中取得的。由于又购买了新的服务器&am…

OC基本数据存储方式
/** 一,数据存储 常用方式(5种) 1,XML属性列表 -- 保存在Doucuments文件夹 2,偏好设置(NSUserDefault)-- Library/Preference 需要配合writetoFile来配合使用,保存到沙盒 3,归档(NSKeyedArchiver) -- 实现coding协议 4,sqlite --使用sqlite语法操作数据库 5,Core Data -- 由系统…
Xcode可重用代码块code snippets
一. 关于code snippets 通过Xcode的重用代码块(code snippets)可快速输入预设好的常用代码模板,如通过键入 hystrong 系统会直接替代为 property(nonatomic,strong) <#class#> <#name#>;二. 添加方法 如下图进行选择&#…

自动化运维工具Ansible
ansible简介: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基…

jquery 的3D Carousel插件参数说明
这个插件大家都很熟悉了,但是在网上找了很久找不到相关的资料,只有自己琢磨研究了一下。有些参数一眼都可以看出意思,在此我只说一下每个图片要想带一些扩展信息怎么处理。 1:首先需要创建一个ul对象,然后里面每一个li…
利用runtime实现KVO
KVO实现原理 一.关于KVO KVO(Key-Value Observing)提供一种机制,当指定对象的属性被修改后,就会通知观察者。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO其实也是“观察者”设计模式的一种应用…
Xcode 5.0.1安装插件:规范注释生成器VVDocumenter + OSX 10.9.2
终于有时间停下来玩下Xcode的插件了,最近需要用下规范注释生成器,于是装了个插件用下。 下面是安装过程(简单的不得了): 1.前往GitHub下载工程文件:VVDocumenter-Xcode 2.用Xcode打开工程,Comma…

shell的数字、字符串处理
1、显示小数点前的0 由于bc计算器目前还不支持显示小数点前的0,所以我们要用一用强大的awk工具啦! 例如: echo "scale2; 0.13 0.1" | bc | awk {printf "%.2f", $0} 2、表示1~21的命令 echo seq 1 21 3、shell 将字符串…

Javascript动画效果(四)
Javascript动画效果(四) 前面我们自己写了一个小小的关于js动画的插件,下面我们来使用之前的框架来完成我们想要的动画效果。我们经常在淘宝网中看到,鼠标经过某一图片时,该图片有从上滚出而又从下滚入的效果ÿ…
APP转让时提示:您必须移除要转让的 App 的所有构建版本和测试员,并清除“测试信息”下的所有信息
转让时出现如下问题无法转让: 解决方法: 在TestFlight中,将所有历史构建测试版本均设置为过期: 结果:

PHP shell模式下执行PHP文件报错
1.在shell下直接运行php文件 出现 PHP Deprecated: Comments starting with # are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0 错误提示信息 2.解决办法: 将 vim /etc/php5/cli/conf.d/ming.ini 文件中第一行 # configuration …

时间同步服务器(默认)chrony和ntp
Rhel7时间同步服务器(默认)chrony 端口:323 chrony简介: 是一个开源软件,可实现系统时钟和时钟服务器同步,让时间保持精确 两部分组成:chronyd和chronyc 其中chronyd是后台运行的守护进程,用于调整内…

静态链表实现(A-B)+(B-A)【代码】
-----------------------------------------------第一次发代码,写在前面------------------------------------------------------ 思路不完全等同于严师太的课本,所以代码并不是参照课本。 代码参照《大话数据结构》相应章节,并经过了相应修…

句子单词的逆转
这里我们谈论的是句子单词的逆转。比如you are welcome!翻转成weclome! are you 对于这道题,解题思路可以有很多种,可以以单词为单位,然后交换,比如用you 和weclome!交换,利用两个指针,不断的向后和向前搜索…
【iOS】日历行程的增删改查(完整)
前言 我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据)。同样地,日历和提醒的数据的数据,都是存储在同一个叫做Calendar Database…

ntp 、ntpdate 、chrony 时间同步
ntp服务 Rhel6时间同步服务器(默认)ntp 端口:UDP/123 搭建ntp客户端同步服务 例: 将配置文件/etc/ntp.conf中的server参数注释掉,并添加上自己的时钟同步服务器 server 0.time.qiyi.domain iburst 这里的…
贝塞尔曲线动画demo(仿美人相机效果)
效果如图: 仿美人相机,手势滑动隐藏顶部view。为了方便讲解,将屏幕分为几个区域,如图: 在拖动过程中: 1、拖动距离小于minMoveDistance,贝赛尔曲线发生形变 2、拖动大于minMoveDistance&am…

算法---001
题目:用1、2、3、4、5、6、7、8、9九个数字拼成一个九位数(每个数字恰好用一次),使得它的前三位、中间三位、最后三位的比值是1 : 2 : 3。例如192384576就是一个合法的解,因为192 : 384 : 576 1 : 2 : 3 看到这种要求…