1、zabbix_sender介绍

zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话,那么zabbix会出现异常,考虑到这种情况,zabbix增加了Trapper功能,客户端自己通过zabbix_sender提交数据给zabbix,这个通道便是trapper。使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据。执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。

 

2、agent端安装

安装zabbix_sender,无需安装zabbix_agent

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.18-1.el7.x86_64.rpm

 

3、使用

3.1 server端创建一个监控项

选择主机并创建监控项

自定义名称,类型选择zabbix采集器(zabbix trapper),键值自定义为user_logins

3.2 agent端使用sender发送数据

命令参数说明:

-c --config 配置文件绝对路径

-z --zabbix-server zabbix server的IP地址

-p --port zabbix server端口.默认10051

-s --host 主机名,zabbix里面配置的主机名(不是服务器的hostname),不能使用ip地址

-I --source-address 源IP

-k --key 监控项的key

-o --value key值

-i --input-file 从文件里面读取hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来

-T --with-timestamps 一行一条数据,空格作为分隔符: ,配合 --input-file option,timestamp为unix时间戳

-r --real-time 将数据实时提交给服务器

-v --verbose 详细模式, -vv 更详细

最简易使用方法一:

zabbix_sender -z server -s host -k key -o value

最简易使用方法二:

zabbix_sender -c config-file -k key -o value

最简易使用方法三:

zabbix_sender -z server -i file

例如:

[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o 5

info from server: "processed: 0; failed: 1; total: 1; seconds spent: 0.004215"

sent: 1; skipped: 0; total: 1

[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o 8

info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000042"

sent: 1; skipped: 0; total: 1

server查看最新数据

-o的值也可以引用命令:

[root@db01 ~]# zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o $(uptime|awk '{print $4}')

3.3使用脚本发送数据

[root@db01 scripts]# pwd

/service/scripts

[root@db01 scripts]# vim monitor_users.sh

#/bin/bash

login_users=`uptime|awk '{print $4}'`

zabbix_sender -z 192.168.1.63 -s db01 -k user_logins -o $login_users

执行脚本即可向server发送数据,可以进一步添加定时任务实现定时发送数据

3.4 使用zabbix_sender批量发送数据

首先多准备几个zabbix_trapper类型的监控项

编写批量列表,每行以hostname、key、value的方式

[root@db01 ~]# cat a.txt

db01 login.users 12

db01 login.users1 13

db01 login.users2 14

db01 login.users3 15

测试

[root@db01 ~]# zabbix_sender -z 192.168.1.63 -i a.txt

 

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

zabbix_sender高效模式的更多相关文章

  1. 单例模式之懒汉模式,懒汉模式之高效模式,DLC双判断模式

    import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; imp ...

  2. hadoop mapreduce求解有序TopN(高效模式)

    1.在map阶段对数据先求解改分片的topN,到reduce阶段再合并求解一次,求解过程利用TreeMap的排序特性,不用自己写算法. 2.样板数据,类似如下 1 13682846555 192.16 ...

  3. Linux系统编程温故知新系列 --- 01

    1.大端法与小端法 大端法:按照从最高有效字节到最低有效字节的顺序存储,称为大端法 小端法:按照从最低有效字节到最高有效字节的顺序存储,称为小端法 网际协议使用大端字节序来传送TCP分节中的多字节整数 ...

  4. 9 I/O复用

    I/O复用使得程序能够同时监听多个文件描述符,适用于以下情况: 客户端同时处理多个socket,比如非阻塞connect 客户端同时处理用户输入和网络连接,比如聊天室程序 TCP服务器同时处理监听so ...

  5. Linux下的I/O复用与epoll详解

    前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管 ...

  6. 三组I/O复用模型的比较

    概论: select.poll和epoll三组I/O复用系统调用,这3组系统调用都能同时监听多个文件描述符.它们将等待由timeout参数指定的超时时间,直到一个或者多个文件描述符上有事件发生时返回. ...

  7. 转: Apache SSI详解及应用

    转: Apache SSI详解及应用 什么是 SSI? SSI(Server Side Includes),是嵌套在 HTML 网页中的指示语句,由后台服务器进行代码的解释计算.使用 SSI 可以动态 ...

  8. 服务器编程入门(7)I/O复用

    问题聚焦:     前篇提到了I/O处理单元的四种I/O模型.     本篇详细介绍实现这些I/O模型所用到的相关技术.     核心思想:I/O复用 使用情景: 客户端程序要同时处理多个socket ...

  9. arduino pro mini不能下载

    刚毕业时就知道arduino,但当时崇拜技术极致,喜欢把单片机的性能用到尽,觉得操作寄存器运行效率高,对arduino 这种高效模式贬为投机取巧,不过其中也一直对arduino 有关注. 随着芯片技术 ...

随机推荐

  1. 树(tree)

    树(tree) 题目描述 小明正在研究一种砍树游戏.一开始在W列H行的方格上,每一个格子都长着一颗树,格子的行从北到南依次编号,格子的列从西到东依次编号. 小明会砍倒一些树,每砍倒一颗树,树会占据这个 ...

  2. 【CZY选讲·最大子矩阵和】

    题目描述 有一个n*m的矩阵,恰好改变其中一个数变成给定的常数P,使得改变后的这个矩阵的最大子矩阵最大. 数据范围 n,m<=300. 题解:    ①如果没有p,那么二维矩阵和就是一维最长 ...

  3. PHP error_reporting

        E_ERROR    致命错误,脚本执行中断,就是脚本中有不可识别的东西出现 E_WARNING    部分代码出错,但不影响整体运行 E_PARSE    字符.变量或结束的地方写规范有误 ...

  4. College student reflects on getting started in open source(二)

    My budding interest grew into a full-time obsession: creating artwork on my clunky, laggy laptop. 我萌 ...

  5. 原生js获取屏幕的宽高

    function client(){ if(window.innerHeight !== undefined){ return { "width": window.innerWid ...

  6. linux--lsof

    lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 ...

  7. 【linux高级程序设计】(第十章)Linux异步信号处理机制 3

    信号屏蔽 信号忽略:系统仍然传递该信号,只是相应的进程不做任何处理 信号屏蔽:进程不捕获信号,信号处于未决状态,当不再屏蔽信号时可以捕获之前被屏蔽的信号. 信号集数据结构定义: typedef __s ...

  8. jsp/el和jstl动态页面

    一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...

  9. pythontips(1):打印模块的属性并执行

    import sys import site def print_all(module_): modulelist = dir(module_) length = len(modulelist) fo ...

  10. J.U.C并发框架源码阅读(九)LinkedBlockingQueue

    基于版本jdk1.7.0_80 java.util.concurrent.LinkedBlockingQueue 代码如下 /* * ORACLE PROPRIETARY/CONFIDENTIAL. ...