zabbix自定义监控项脚本

news2024/11/26 0:56:59

以下脚本具体如何使用可参考以下文章

配置zabbix自定义监控项_Apex Predator的博客-CSDN博客

1.检测url是否存活

vi /opt/zabbix_jb/check_url_status.sh

#!/bin/bash
a=`curl -s -o /dev/null -w "%{http_code}" "$1"`
b=`curl -s -o /dev/null -w "%{redirect_url}" -I $1|tail -n 1`
c=`curl -s -o /dev/null -w "%{http_code}" "$b"`
if [ "$a" == 200 ]; then
   echo '1'
else
   if [ "$a" != 301 ]; then
      echo '0'
   else
      if [ "$c" == 200 ]; then
         echo '1'
      else
         echo '0'
      fi
   fi
fi

2.单个脚本嵌套多个检测项

vi /opt/zabbix_jb/check.sh

#!/bin/bash
function check_url {   
   a=`curl -s -o /dev/null -w "%{http_code}" "$1"`   #传入$1参数
   b=`curl -s -o /dev/null -w "%{redirect_url}" -I "$1"|tail -n 1`  #传入$1参数
   c=`curl -s -o /dev/null -w "%{http_code}" "$b"`
   if [ "$a" == 200 ]; then
         echo '1'
   else
         if [ "$a" != 301 ]; then
             echo '0'
         else
             if [ "$c" == 200 ]; then
                 echo '1'
             else
                 echo '0'
             fi
         fi
   fi
}

function check_service {
   b=`ps -ef |grep "$1"|grep -v grep|wc -l`  #传入$1参数
   a=`netstat -tlpn |grep "$2"|wc -l`     #传入$2参数
   if [ $b == 0 ]; then
       echo '0'
   else
       if [ $a == 0 ]; then
            echo '0'
       else
            echo '1'
       fi
   fi
}
$1 $2 $3  #此处通过传入$1参数去选择需要执行的脚本,达成多个监控项集成于一个脚本,后面的$2和$3作为数值重新传入function脚本的变量中

传入参数参考 

zabbix_get -s 10.1.60.118 -k check[check_url,www.baidu.com]

zabbix_get -s 10.1.60.118 -k check[check_service,kafka,:9092]

对于zabbix agent配置的参考

对于看不懂function传参使用的可参考:shell脚本function传参的使用_Apex Predator的博客-CSDN博客

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

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

相关文章

heic的照片怎么转化jpg格式,3个工具分享

heic的照片怎么转化jpg格式?当我想要把照片进行人物抠像的话那我们得需要使用专业图片软件PS。因为人物抠像是一种常见的图像处理技术,它在我们职场中有广泛的需求,它可以将人物从照片中提取出来放置到其他地方,使得照片更具专业性…

如何在 Cockpit 中管理虚拟机

Cockpit 是一个很将整个服务器置于一个集中的控制面板中,并对它们进行相当程度的控制。还可以在Cockpit中创建和管理虚拟机。 环境 Centos8 安装Cockpit 要使用 Cockpit 创建和管理虚拟机,必须在运行 Cockpit 的计算机上安装 cockpit-machines 模块&…

【传统方式部署Ruoyi微服务】

IP机器与部署组件 部署思路顺序: 1 安装mysql wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm rpm --import https://repo.mysql.com/RPM-GPG-K…

排序 - 快速排序(Quick Sort)

文章目录 快速排序介绍快速排序实现快速排序时间复杂度和稳定性快速排序稳定性快速排序时间复杂度 代码实现核心&总结 快速排序介绍 它的基本思想是: 选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一…

使用QToolButton和QStackedWidget的侧边栏(SideBar)的实现与实现原理解析

使用QToolButton和QStackedWidget的侧边栏(SideBar)的实现与实现原理解析 原文链接:https://blog.csdn.net/qq153471503/article/details/128528072 Demo下载:https://gitee.com/jhuangBTT/QtSideBar 1、简介 侧边栏是一个很常用…

ModStartBlog v7.2.0 暗黑模式,超级搜索,富文本升级

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装会…

Spring Security Ldap 登录认证流程的源码梳理

一、通过请求Controller开始登录认证 通过authenticationManager调用authenticate()方法开始登录认证,因为authenticationManager是通过Bean注入,因为SecurityLdapConfig是继承的WebSecurityConfigurerAdapter类,所以authenticationManager的…

【Unity+MySQL】实现注册登录系统(封装版)

目录 1 MySQL封装2 用户注册、登录方法封装3 Unity交互 接着 上篇文章的注册登录系统,这篇文章将MySQL相关操作封装,在Unity交互脚本中直接调用封装的方法。 1 MySQL封装 编写一个DBConnector脚本,封装MySQL中常用的操作,如连接…

【已解决】SpringBoot 工程 war包服务部署与调用测试

1.开发环境:IDEA,JDK1.8 2.服务打包类型: war包 3.war包部署环境:Linux系统,tomcat服务器,端口号:8081 4.war包部署位置:tomcat-8081/webapps/temp.war 5.服务名为:t…

Java版本企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标

功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供…

Postman轻松签名,让SHA256withRSA保驾护航!

postman接口签名教程:https://www.bilibili.com/video/BV1r14y1A7MQ/? 目录:导读 前言 获取pmlib 引入依赖bundle.js,有以下两种方式: 使用Pre-request Script对请求进行加签(具体加签字段请看自己项目) 结语 前言 在接口测…

荔枝派Zero(全志V3S)开启alsa,测试codec

文章目录 前言一、ALSA 简介二、ALSA 框架三、buildroot 配置四、烧录到 SD 卡五、测试1、查看 CODEC 设备2、alsa-utils 使用①、查看设备②、调节音量③、查看控制器④、录音测试⑤、播放测试 前言 默认 dts 中使能了 codec 需要使用的话,在 buildroot 中勾选 a…

2023年五月份图形化四级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

开放式耳机有什么好处,盘点几款性能不错的开放式耳机

随着人们对生活质量要求的提高,大家在运动的时候都喜欢戴上耳机,享受运动的乐趣。但是传统耳机戴久了之后就会出现耳朵酸痛的情况,这是因为传统耳机佩戴方式是通过空气振动来传递声音,而人在运动时就会伴随着大量的汗水&#xff0…

基于ResNet-attention的负荷预测

一、attention机制 注意力模型最近几年在深度学习各个领域被广泛使用,无论是图像处理、语音识别还是自然语言处理的各种不同类型的任务中,都很容易遇到注意力模型的身影。从注意力模型的命名方式看,很明显其借鉴了人类的注意力机制。我们来看…

GB/T28181-2022相对2016版“基于TCP协议的视音频媒体传输要求“规范解读和技术实现

规范解读 GB/T28181-2022和GB/T28181-2016规范,有这么一条“更改了附录 D 基于 TCP 协议的视音频媒体传输要求(见附录 D,2016 年版的附录 L)。”。 本文主要是针对GB/T28181-2022里面提到的“基于 TCP 协议的视音频媒体传输要求…

chmod 命令 (chmod 0660)

chmod的作用: 用于设置文件所有者和文件关联组的命令,就是控制用户的权限命令 注意事项: chown 需要超级用户 root 的权限才能执行此命令。 自己常用chmod 命令是 chmod 777 * 给所有文件权限 chmod 777 文件名 给单独文件权限 这个777 是怎么来的, 或者chmod 0660 这…

Servlet路径问题(“/“到底代表什么)-“web应用程序的根目录“与“web站点的根目录“

JavaWeb——Servlet路径问题("/"到底代表什么) JavaWeb——Servlet路径问题("/"到底代表什么) 在JavaWeb中,使用路径时出现了大量的"/“,而每次使用”“时都感觉其代表的含义是不同的,因此,本篇文章将汇…

分布式ID解决方案对比

在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对一个订单表进行了分库分表操作,这时候数据库的自增ID显然不能作为某个订单的唯一标识。除此之外还有其他分布式场景对分布式ID的一些要求: 趋势递增: …

(栈和队列) 232. 用栈实现队列 ——【Leetcode每日一题】

❓232. 用栈实现队列 难度:中等 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾int pop() 从队列…