两种办法:

1)pass方式

/etc/snmp/snmpd.conf

写脚本

脚本需要注意:要连续输出三行:1、OID  2、类型  3、值

如果不按照这个规定,直接输出值,将会报错。

检查

第二种方法:extend方法

/etc/snmp/snmpd.conf最后增加一行:

extend .1.3.6.1.4.1.9721.2 mylx /usr/bin/bash  /tmp/lx.sh

写脚本(直接输出,不必象pass方式那样有规定)

#!/bin/sh
#echo $2 #因为snmpd是用EXEC -g MIBOID来调脚本的,所以MIBOID是第二个参数
#echo string isdata=`df -h | grep -c '/adata'`
mystr=NO
if [ $isdata -eq 1 ]; then
mystr=OK;
fi
echo $mystr

但是,这里定义的OID并不是可以直接引用的OID,具体引用值需要snmpwalk跑一下

.1.3.6.1.4.1.9721.2.1.0 = INTEGER: 1
.1.3.6.1.4.1.9721.2.2.1.2.4.109.121.108.120 = STRING: "/usr/bin/bash"
.1.3.6.1.4.1.9721.2.2.1.3.4.109.121.108.120 = STRING: "/tmp/lx.sh"
.1.3.6.1.4.1.9721.2.2.1.4.4.109.121.108.120 = ""
.1.3.6.1.4.1.9721.2.2.1.5.4.109.121.108.120 = INTEGER: 5
.1.3.6.1.4.1.9721.2.2.1.6.4.109.121.108.120 = INTEGER: 1
.1.3.6.1.4.1.9721.2.2.1.7.4.109.121.108.120 = INTEGER: 1
.1.3.6.1.4.1.9721.2.2.1.20.4.109.121.108.120 = INTEGER: 4
.1.3.6.1.4.1.9721.2.2.1.21.4.109.121.108.120 = INTEGER: 1
.1.3.6.1.4.1.9721.2.3.1.1.4.109.121.108.120 = STRING: "NO"
.1.3.6.1.4.1.9721.2.3.1.2.4.109.121.108.120 = STRING: "NO"
.1.3.6.1.4.1.9721.2.3.1.3.4.109.121.108.120 = INTEGER: 1
.1.3.6.1.4.1.9721.2.3.1.4.4.109.121.108.120 = INTEGER: 0
.1.3.6.1.4.1.9721.2.4.1.2.4.109.121.108.120.1 = STRING: "NO"

net-snmp 自定义OID利用脚本获取值的更多相关文章

  1. 自学Zabbix11.6 Zabbix SNMP自定义OID

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.6 Zabbix SNMP自定义OID 为什么要自定义OID? 前面已经讲过 ...

  2. (39)zabbix snmp自定义OID nginx监控实例

    为什么要自定义OID? 前面的文章已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目 假如我们想知道nginx进程是否在运行?在没有zabbix a ...

  3. snmp自定义OID与文件下载----服务器端配置

    客户端使用命令工具:snmpwalk 服务端开启服务 snmp service.下载安装 net-snmp. 最近做了一些工作,记性较差感觉还是记下来比较好,毕竟网上能查到的有用的资料太少了. 自定义 ...

  4. 利用脚本获取mysql的tps,qps等状态信息

    #!/bin/bash mysqladmin -uroot -p'123456' extended-status -i1|awk 'BEGIN{local_switch=0;print "Q ...

  5. Python 调用snmp自定义OID实现监控

    http://kkkkkk.blog.51cto.com/468162/1172726 http://blog.csdn.net/mirahs/article/details/49619729

  6. label标签利用jquery获取值得方式为$("#message").html()

    label标签利用jquery获取值的方式为$("#message").text(), 赋值的方式为:$("message").html("北京欢迎你 ...

  7. 工控随笔_02_西门子_WinCC的IO域利用C脚本返回值

    WinCC的输入输出域用来显示信息或者接受操作人员的输入.当作为显示功能时,只有直接的变量连接 才能正常的显示,如果使用动态对话框进行设置且用了表达式则不能正确显示. 但是有时候我们在WinCC变量管 ...

  8. Django学习——Django settings 源码、模板语法之传值、模板语法之获取值、模板语法之过滤器、模板语法之标签、自定义过滤器、标签、inclusion_tag、模板的导入、模板的继承

    Django settings 源码 """ 1.django其实有两个配置文件 一个是暴露给用户可以自定义的配置文件 项目根目录下的settings.py 一个是项目默 ...

  9. shell脚本获取mysql插入数据自增长id的值

    shell脚本获取mysql插入数据自增长id的值 在shell脚本中我们可以通过last_insert_id()获取id值,但是,需要注意的是,该函数必须在执行插入操作的sql语句之后,立即调用,否 ...

  10. CTF必备技能丨Linux Pwn入门教程——利用漏洞获取libc

    Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

随机推荐

  1. Qt多线程编程之QThreadPool 和 QRunnable使用

    说到线程通常会想到QThread,但其实Qt中创建线程的方式有多种,这里主要介绍其中一种QRunnable,QRunnable和QThread用法有些不同,并且使用场景也有区别.要介绍QRunnabl ...

  2. A、创建模式(5种)

    设计模式的分类总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. ...

  3. 4-发票校验-不可能为条目1000 DIF确立帐户-消息号 M8147

    SPRO-->物料管理-->评估和科目设置-->科目确定-->无向导的科目确定-->配置自动记帐(OBYC)

  4. [NOIP1996 提高组] 挖地雷

    题目描述 在一个地图上有N个地窖(N≤20),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径. 当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷, 然后可以沿着指出的连接往下挖(仅 ...

  5. 01 流程控制之for循环

    '''1.什么是for循环 循环就是重复做某件事,for循环是python提供第二种循环机制2.为何要有for循环 理论上for循环能做的事情,while循环都可以做 之所以要有for循环,是因为fo ...

  6. Mac上安装Python并配置环境变量

    1.下载安装包. 官网下载地址: Download Python | Python.org 2.安装 直接双击安装包,按照默认提示步骤进行安装就行. 3.配置 python 和 pip 命令环境变量 ...

  7. clickhouse杂记

    1,clickhouse show tables SHOW [TEMPORARY] TABLES [FROM ] [LIKE ''] [LIMIT ] [INTO OUTFILE ] [FORMAT ...

  8. ubuntu启动盘制作

    转自https://www.cnblogs.com/silentdoer/p/13044305.html 1. 从Ubuntu官网http://cn.ubuntu.com/download/下载系统的 ...

  9. 312. 戳气球 (Hard)

    问题描述 312. 戳气球 (Hard) 有 n 个气球,编号为 0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.戳破第 i 个气球,你可以获 ...

  10. drf从入门到飞升仙界 06

    模型类准备 from django.db import models # 图书跟作者:多对多,需要建立中间表,但是我们可以通过ManyToManyField自动生成,写在哪里都行 # 图书跟出版社:一 ...