zoukankan      html  css  js  c++  java
  • zabbix_sender高效模式

    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 serverIP地址

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

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

    -I --source-address IP

    -k --key 监控项的key

    -o --value key

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

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

    -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

     

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

  • 相关阅读:
    JSON数据格式
    段寄存器
    进程 PCB 进程挂起
    python3:文件读写+with open as语句(转)
    Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案
    intelx86为何从0xFFFF0处执行
    Linux内核调度分析(转,侵删)
    调度器简介,以及Linux的调度策略(转)
    nm命令
    Vim文本编辑器中常用的一些命令
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9267748.html
Copyright © 2011-2022 走看看