• Zabbix(三)——Zabbix 自定义监控项


    Zabbix 自定义监控项

    当zabbix自带的监控项已经不满足我们需要的时候,我们就需要自己定义监控项来满足我们的需求了。这里以监控内存占用率前十的进程信息为例子

    一、自定义脚本

    1)在agent端,新建脚本custom_process_rate.sh

    #!/bin/bash
    
    ps -e -o pid,ruser,%cpu,%mem | head -1; ps -e -o pid,ruser,%cpu,%mem | sort -k4nr | head -n 10
    

    2)测试脚本

    二、配置agent

    修改/etc/zabbix/zabbix_agent.conf中的UserParameter,也可以在/etc/zabbix/zabbix_agent2.d/目录下新建.conf文件,添加UserParameter

    UserParameter=mem_status,/data/zabbix_custom_scripts/custom_process_rate.sh
    
    # UserParameter=key[*],<shell_command> $1 $2 $...
    
    • key:表示监控项的key值,
    • [*]:表示接受参数
    • shell_command:表示脚本所在的路径或者shell命令
    • $1, $2, $n:表示参数,参数个数与n相同

    三、重启agent

    # 这里的agent是使用rpm包安装: rpm -ivh *.rpm --force --nodeps zabbix-agent2-5.0.0-1.el7.x86_64.rpm 
    
    systemctl restart zabbix-agent2.service
    

    四、测试自定义监控项

    在zabbix的server端执行zabbix_get

    zabbix_get -s 【zabbix客户端IP】 -k "【自定义监控项key值[参数]】"
    
    zabbix_get -s 192.168.71.22 -k mem_status
    

    五、添加自定义监控项

    1、添加应用集

    2、添加监控项

    2、添加监控项

    • 信息类型:

      • Numeric (unsigned) :正整数

      • Numeric (float) :小数,可以是负数

      • Log:日志格式,可以使用专门的匹配语法

      • Character:255以内的字符串

      • Text:文本大字段

    • 由于返回值数据比较大,并且是字符串,所以信息类型选择文本

    六、查看结果

    七、其它

    参考链接:https://www.freesion.com/article/56941043494/

    1、如果需要所有主机都能使用该功能,

    • 需要先将自定义脚本通过NFS等方式共享到所有主机
    • 创建Template模板,来配置

    2、如果需要告警,可以设置Trigger触发器,来设定阈值,超过阈值后告警

    3、如果需要用图形显示,可以创建Graphs图形,但是要求数据为整型或浮点型

  • 相关阅读:
    [转贴]中国铁塔发布2020年中期财报:营收、利润双增,高效支撑5G规模建设
    struts2总结二:第一个简单的struts2程序
    struts2总结一:MVC设计模式
    解决eclipse报PermGen space内存溢出异常的问题
    java中new关键字和newInstance()方法有什么区别?
    java反射机制
    在easyui中如何修改combobox的下拉框的高度为自适应高度
    百度UEditor从word复制粘贴公式
    百度富文本编辑器从word复制粘贴图片
    HTML编辑器从word复制粘贴图片
  • 原文地址:https://www.cnblogs.com/linagcheng/p/16377268.html
Copyright © 2020-2023  润新知