zabbix自定义监控项

文章目录

  • 1、配置conf文件(zabbix_agent2)
    • linux
    • windows
  • 2、配置监控项
  • 3、配置触发器
  • 4、查看监控数据

示例自定义程序

hash_tool:输出指定目录的哈希值

调用指令:

hash_tool --path [指定目录]

1、配置conf文件(zabbix_agent2)

linux

vim /etc/zabbix/zabbix_agent2.confUnsafeUserParameters=1UserParameter=hash_dir[*],/home/hash_tool/dist/hash_tool --path $1

UnsafeUserParameters:用于控制是否允许在用户定义的参数中使用特定的字符,0为不允许,1为允许。这些参数通常用于 执行自定义脚本或命令。允许这些字符可以增加参数的灵活性,但也带来了潜在的安全风险,例如命令注入。为了防止风险最好做到以下:

  1. 严格验证:确保对用户输入进行严格的验证和清理,以减轻风险。
  2. 最小权限原则:确保 Zabbix 代理运行在最低权限的用户环境下,以减少潜在的安全威胁

UserParameter:是 Zabbix 中的一个配置选项,用于定义自定义监控项。通过这个选项,用户可以指定自定义的键(key)和相应的 shell 命令来收集特定的监控数据。
格式UserParameter=<key>,<shell command>

  1. key可以理解为声明的一个函数名,而具体的函数则为后方的shell command
  2. key中的[*]可以类比为入参,后方函数中通过$1来使用参数。$1中的1为参数的序号,如果key中有多个[*],则按照顺序,依次使用$1$2$3来使用。
  3. shell command打印到控制台的内容,将作为返回值,返回至调用方。

配置完成后,重启agent,接下来可在zabbix_server服务器上,使用zabbix_get测试是否配置成功。

[root@zabbix-server ~]# zabbix_get -s xx.xx.xx.xx -k hash_dir[/home/hash_tool]29249374b84f21c082870a78d911e4005606544e7aecfdf59eeb3200e3b22423 [/home/hash_tool]

windows

注意:经过验证,如果后续需要自定义监控项,在zabbix_agent2.win.conf中自定义监控项UserParameterzabbix_agent不会认识这个监控项,尝试调用会报错:

[root@zabbix-server-t2 ~]# zabbix_get -s [agent_ip] -k hash_tool[path]ZBX_NOTSUPPORTED: Unknown metric hash_dir

zabbix_agent2.conf中定义UserParameter才会生效,所以建议后续所有配置修改,zabbix_agent2.confzabbix_agent2.win.conf这两个文件同步更新

使用文本工具修改配置文件:

UnsafeUserParameters=1
UserParameter=hash_dir[*],"C:\Program Files\hash_tool\hash_tool.exe" --path "$1"

由于windows路径分割符为\,所以在调用程序和传参的时候,使用引号“”能避免错误解析。

使用zabbix_get验证:

[root@zabbix-server-t2 ~]# zabbix_get -s xx.xx.xx.xx -k hash_dir["C:\Program Files\hash_tool"]8f5898098d085aa61e28ce998ab65b953c5e4131395db5388ee083031e0667ee [C:\Program Files\hash_tool]

2、配置监控项

这里直接对单个主机 进行配置,也可以对模板进行配置。

进入具体主机的监控项页面,创建监控项。

根据实际情况填入名称、键值、更新间隔等。可以通过下方的测试功能,来检查是否可以执行自定义监控。

键值,就是配置文件自定义的key,自定义键值无法选择,手动输入

键值配置windows路径参数,同样需要使用引号“”包围路径

image-20240527114212267

3、配置触发器

构造表达式,可以直接选择上一步配置的监控项。

在这一次的案例中,如果两次结果不一致,则标明目录文件有变化。通过diff() = 1来判定触发。

image-20240527115225031

  • 事件成功迭代
    • 表达式:触发与恢复的表达式相同,当表达式与配置的结果不匹配,则为恢复。
    • 恢复表达式:需要额外配置恢复表达式。当问题表达式不匹配以及恢复表达式匹配,则恢复。
    • 无:触发器永远不会自行恢复。
  • 问题事件生成模式
    • 单个:触发器第一次触发问题时,生成单个事件。
    • 多重:触发器每一次触发问题都会生成一个事件。

4、查看监控数据

监测 → \rightarrow 最新数据 中可以查看监控项,历史记录可以查看历史值

image-20240527121457213

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac vscode 常用相关快捷键

Command 点击 多光标插入 Shift 点击 复制选中的代码块 Command X 剪切&#xff08;未选中文本的情况下&#xff0c;剪切光标所在行&#xff09; Command C 复制&#xff08;未选中文本的情况下&#xff0c;复制光标所在行&#xff09; Command V 粘贴 Command L 选中当前…

【chisel】chisel中for (i <- 0 until N-2) {} 的用法,表示什么?

在 Chisel 中&#xff0c;for (i <- 0 until N-2) {} 是一个 for 循环的语法&#xff0c;它表示从 0 开始到 N-2 的整数&#xff08;不包括 N-2&#xff09;&#xff0c;并对每个整数 i 执行大括号 {} 内的代码块。 这里的 until 是 Scala 语言的一个关键字&#xff0c;用于…

安卓获取内部存储信息

目录 前言获取存储容量 前言 原生系统设置里的存储容量到底是怎么计算的&#xff0c;跟踪源码&#xff0c;涉及到VolumeInfo、StorageManagerVolumeProvider、PrivateStorageInfo、StorageStatsManager......等等&#xff0c;java上层没有办法使用简单的api获取到吗&#xff1f…

穿越无人机中涉及到的算法主要包括以下几种:

当涉及穿越无人机中的算法时&#xff0c;我们可以从以下几个方面进行详细分析&#xff0c;并尽量参考文章中的相关数字和信息&#xff1a; 1.捷联式惯性导航系统&#xff1a; 定义&#xff1a; 利用加速度计和陀螺仪等惯性元件&#xff0c;直接测量飞行器的角运动信息和线运动…

深入解析Python中的两种导入方法:from...import与import

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、from...import与import的基本区别 1. 导入方式的不同 2. 命名空间的差异 三…

Linux基础知识点总结!超详细

Linux 的学习对于一个IT工程师的重要性是不言而喻的&#xff0c;学好它是工程师必备修养之一。 Linux 基础 操作系统 操作系统Operating System简称OS&#xff0c;是软件的一部分&#xff0c;它是硬件基础上的第一层软件&#xff0c;是硬件和其它软件沟通的桥梁。 操作系统…

软件项目管理 - 作业集合

软件项目管理 - 作业集合 作业一 1、项目与日常运作的主要区别有哪些&#xff1f; 项目&#xff1a;为提供一项独特产品、服务或成果所做的临时性努力 运作&#xff1a;连续不断周而复始的活动 项目是一次性的&#xff0c;日常运作是重复进行的&#xff1b; 项目是以目标为导…

CI/CD:持续集成/持续部署

1. 安装docker、docker-compose # 安装Docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i sdownload.docker.commirrors.aliyun.com/docker-ce /…

neo4j docker安装使用,py2neo python包使用

参考&#xff1a;https://neo4j.com/docs/operations-manual/current/docker/introduction/ 运行&#xff1a; docker run --publish7474:7474 --publish7687:7687 neo4j查看&#xff1a; http://192***ip:7474 username/password 都是 neo4j/neo4j 简单案例 创建例子&am…

前端数据存储之cookie、LocalStorage与SessionStorage

JS详解Cookie、LocalStorage与SessionStorage 基本概念 Cookie Cookie是小甜饼的意思。顾名思义&#xff0c;cookie确实非常小&#xff0c;它的大小限制为4KB左右。他的主要用途又保存登录信息&#xff0c;比如你登录某个网站市场可以看到“记住密码”&#xff0c;这通常就是…

重生之 SpringBoot3 入门保姆级学习(04、 包扫描)

重生之 SpringBoot3 入门保姆级学习&#xff08;04、 包扫描&#xff09; 2.1 包扫描 2.1 包扫描 默认包扫描规则&#xff1a; SpringBootApplication 标注的就是主程序 SpringBoot 只会扫描主程序下面的包 自动的 component-scan 功能 在 SpringBootApplication 添加参数可以…

前端开发工程师——AngularJS

一.表达式和语句 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-w…

【C语言】char,short char,long char分别是多少字节,多少位,多少bit

一&#xff0c;char&#xff0c;short char&#xff0c;long char分别是多少字节 在 C 语言中&#xff0c;char、short、int、long 这些数据类型的大小是平台相关的&#xff0c;它们的大小取决于编译器和操作系统的实现。然而&#xff0c;它们的大小通常遵循以下规则&#xff…

创新融合,5G+工业操作系统引领未来工厂

为加速企业完成生产制造自动化和经营管理自动化&#xff0c;从而走向未来工厂&#xff0c;蓝卓不断探索supOS工业操作系统与前沿技术的的创新融合&#xff0c;而5G技术为工业操作系统提供了更多元化的赋能手段和想象空间。目前&#xff0c;supOS围绕生产、安全、质检、监控等领…

语音转文字软件哪个好?掌握这3个方法,告别手写记录

开会多又杂&#xff0c;手写记录累死人&#xff1f; 每天的工作日程中&#xff0c;会议总是不可或缺的一部分。不论是团队讨论还是项目汇报&#xff0c;会议记录都是必不可少的。但手写记录会议内容不仅耗时耗力&#xff0c;还容易遗漏重要信息。 那么&#xff0c;有没有更高…

张驰咨询:六西格玛培训,IT界的“福尔摩斯”

六西格玛&#xff0c;这个曾以制造业为背景的管理理念&#xff0c;如今却在IT领域大放异彩。其背后的原因&#xff0c;不仅仅是因为六西格玛追求零缺陷、持续改进的核心价值观与IT行业对产品质量和用户体验的极致追求不谋而合&#xff0c;更是因为它提供了一种全新的思维方式和…

2024.05.28|生信早报【AI测试版】

日期&#xff1a;2024-05-28 拓尔思&#xff1a;拓知全球基因专利数据库助力合成生物研发&#xff0c;规避专利申请风险。和元生物&#xff1a;连续亏损&#xff0c;累计亏损1.7亿元&#xff0c;基因治疗CRO业务推出新服务。国际生物多样性日&#xff1a;杭州打造“北纬30度生…

【pyTorch安装版本真麻烦】

1、pytorch 2.0.1版本可以用cuda11.7 # CUDA 11.7 conda install pytorch2.0.1 torchvision0.15.2 torchaudio2.0.2 pytorch-cuda11.7 -c pytorch -c nvidia 2、pytorch 2.1 版本后最低cuda11.8 3、安装pytorch时候&#xff0c;注意torchaudio 版本 总之注意pyTorch安装版本…

C语言作为计算机行业的基础之一,是否制约了行业本身的发展?

c不是计算机行业的基础啦&#xff0c;你想&#xff0c;c语言出现时已经有一套成熟的计算机体系&#xff0c;有基于内存地址的寻找指令、数据的工作方式&#xff0c;有汇编语言&#xff0c;那搞出c这种高级语言就很正常啊&#xff01;刚好我有一些资料&#xff0c;是我根据网友给…

设计、运营与前端:三者间的微妙区别与联系

设计、运营与前端&#xff1a;三者间的微妙区别与联系 在数字化日益深入的今天&#xff0c;设计、运营与前端这三个词汇在我们的工作中频繁出现&#xff0c;它们似乎紧密相连&#xff0c;但又各具特色。本文将深入探讨这三者之间的微妙区别与联系&#xff0c;从四个方面、五个…