热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

zabbix自定义监控

配置自定义监控,我们需要配置监控项的key,和监控项返回的value添加自定义监控key的格式,在配置文件中添加UserParameter

 

 

配置自定义监控,我们需要配置监控项的key,和监控项返回的value

添加自定义监控key的格式,在配置文件中添加

UserParameter=KEY_NAME[*],COMMOND

KEY_NAME: 自定义监控的key的名称,[*]是参数,*表示所有的,在commond后面可以条用key写的参数,commond $1.

COMMOND: 命令,通过执行命令,返回需要的信息,可以写上shell脚本的路径,条用shell脚本。

UserParameter=key[*],command
参数描述
key唯一,[*]表示里面可以传递多个参数,
command需要执行的脚步、命令。key的[*]参数会一一对应到这命令的$1至$9,$0表示脚本命令



为了方便管理,把key值文件统一放在一个目录,打开配置文件zabbix_agentd.conf下面配置的注释

#include=/usr/local/zabbix3/etc/zabbix_agentd.conf.d/*.conf

 这样可以在/usr/local/zabbix3/etc/zabbix_agentd.conf.d/目录下面创建以.conf结尾的文件,把UserParameter=, 写在里面



例子:

一个key可以写在/usr/local/zabbix3/etc/zabbix_agentd.conf配置文件最后

UserParameter=get.os.type,head -l /etc/issue

 

 

配置好key后需要重启zabbix_agentd。重启完成再测试是否可以根据自定义key获取相应的值。

root@webTestServer01:~# /usr/local/zabbix3/bin/zabbix_get -s 127.0.0.1 -k get.so.type
Ubuntu
14.04.2 LTS \n \l

 

在看看下面的例子:

 

 

##以逗号,分割$1或$2
如果你的 UserParameter 包含\ &#39; ” &#96; * ? [ ] { } ~ $ ! & ; ( ) <> | # &#64;这些字符&#xff0c;则需要开启下面这个参数
zabbix_anget.conf配置文件 UnsafeUserParameters&#61;1

传递参数&#xff1a;

UserParameter&#61;wc[*],grep -c "$2" $1

这里表示把$2,$1 的传递给 key&#xff0c;测试如下

zabbix_get -s 127.0.0.1 -k wc[/etc/passwd,root]

注意&#xff0c;这里的/etc/passwd 为$1,root 为$2,则 key 最终运行的命令为 grep -c root /etc/passwd

 

 根据上面的例子&#xff0c;我们知道怎么配置一个自定义监控key&#xff0c;和获取返回的内容&#xff0c;现在我们在zabbix的web也没添加item&#xff0c;配置自定义监控和配置图形&#xff0c;告警等配置。

写一个自定义监控&#xff0c;这里我们监控服务器的各个连接状态的数量

[root&#64;cong-33 zabbix_agentd.conf.d]# pwd
/usr/local/zabbix/etc/zabbix_agentd.conf.d
[root&#64;cong
-33 zabbix_agentd.conf.d]# cat get_net_status_num.conf
UserParameter
&#61;net_status_num[*], /usr/local/zabbix/etc/zabbix_agentd.conf.d/scripts/net_conne_status_num.sh $1
[root&#64;cong
-33 zabbix_agentd.conf.d]#

查看脚本内容&#xff1a;

[root&#64;cong-33 zabbix_agentd.conf.d]# cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/scripts/net_conne_status_num.sh
#
!/bin/bashif [ ${1} &#61; "ESTAB" ]
thenss -ta|grep -v "State"|awk &#39;{&#43;&#43;S[$1]} END {for (a in S) print a,S[a]}&#39;|awk &#39;/ESTAB/ {print $2}&#39;
elif [ ${1} &#61; "LISTEN" ]
thenss -ta|grep -v "State"|awk &#39;{&#43;&#43;S[$1]} END {for (a in S) print a,S[a]}&#39;|awk &#39;/LISTEN/ {print $2}&#39;
elif [ ${1} &#61; "TIME-WAIT" ]
thenss -ta|grep -v "State"|awk &#39;{&#43;&#43;S[$1]} END {for (a in S) print a,S[a]}&#39;|awk &#39;/TIME-WAIT/ {print $2}&#39;
elif [ ${1} &#61; "CLOSE-WAIT" ]
thenss -ta|grep -v "State"|awk &#39;{&#43;&#43;S[$1]} END {for (a in S) print a,S[a]}&#39;|awk &#39;/CLOSE-WAIT/ {print $2}&#39;
fi[root&#64;cong-33 zabbix_agentd.conf.d]#

 监控的是 ESTAB&#xff0c;LISTEN&#xff0c;TIME-WAIT&#xff0c;CLOSE-WAIT几个状态的数量&#xff0c;脚本是根据对应脚本的参数来返回对应的状态的数量。

 

 

zabbix的web端配置&#xff1a;

我把这个监控项添加到linux的模板中&#xff0c;

 

添加estab的监控&#xff1a;

 

 

 配置完成后点击后面的add保存。

   time-wait的添加配置

 

 

其他几个状态也是一样的配置添加&#xff0c;主要是参数不一样

 

监控的item配置配好了&#xff0c;接下来配置告警触发器&#xff1a;

 

 添加触发器 triggers

 

 点击add,添加 监控的item和触发器表达式

 

然后一个trigger配置就完成了&#xff0c;另外一样的配置&#xff0c;

 

配置图形

添加配置图形

 

 


转载于:https://www.cnblogs.com/LYCong/p/7904109.html


推荐阅读
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • dotnet 通过 Elmish.WPF 使用 F# 编写 WPF 应用
    本文来安利大家一个有趣而且强大的库,通过F#和C#混合编程编写WPF应用,可以在WPF中使用到F#强大的数据处理能力在GitHub上完全开源Elmis ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • Redis Hash 数据结构详解
    本文详细介绍了 Redis 中的 Hash 数据类型及其常用命令。Hash 类型用于存储键值对集合,支持多种操作如插入、查询、更新和删除字段值。此外,文章还探讨了 Hash 类型在实际业务场景中的应用,并提供了优化建议。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 本文详细介绍了流编辑器sed中的G、H、g、h命令,探讨了它们的工作原理及应用场景。通过实例解析和图解分析,帮助读者掌握这些高级命令的使用方法。 ... [详细]
author-avatar
大学教授也是砖家
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有