Linux下snmpd.conf说明及扩展 可执行脚本

本文发布时间: 2019-Mar-22
snmpd.conf通过exec支持直接对于执行指令或是执行脚本的返回结果的SNMP查询。但是有两种情况:1)只可以SNMP查询出单行(首行))返回结果。2)可以SNMP查询出多行(全部)返回结果。下面先说第一种情况:只能查单行(首行)返回结果配置格式:# exec NAME PROGRAM [ARGS ...]## NAME: A generic name. The name must be unique for each exec statement.# PROGRAM: The program to run. Include the path!# ARGS: optional arguments to be passed to the program可以通过外部命令捕获系统信息,并保存在mib中。第一种格式中,该信息保存在enterprises分支中的extEntry表中具体的OID为:.1.3.6.1.4.1.2021.8.1先介绍一下snmpd.conf中自带的示例:exec echotest /bin/echo hello worldexec shelltest /bin/sh /tmp/shtest#cat /tmp/shtest# #!/bin/sh# echo hello world# echo hi there# exit 35可以看出,两行exec中,第一行是单行输出,第二行执行的脚本是多行(两行)输出,下面是示例给出的结果:# % snmpwalk -v 1 localhost -c public .1.3.6.1.4.1.2021.8# enterprises.ucdavis.extTable.extEntry.extIndex.1 = 1# enterprises.ucdavis.extTable.extEntry.extIndex.2 = 2# enterprises.ucdavis.extTable.extEntry.extNames.1 = "echotest"# enterprises.ucdavis.extTable.extEntry.extNames.2 = "shelltest"# enterprises.ucdavis.extTable.extEntry.extCommand.1 = "/bin/echo hello world"# enterprises.ucdavis.extTable.extEntry.extCommand.2 = "/bin/sh /tmp/shtest"# enterprises.ucdavis.extTable.extEntry.extResult.1 = 0# enterprises.ucdavis.extTable.extEntry.extResult.2 = 35# enterprises.ucdavis.extTable.extEntry.extOutput.1 = "hello world."# enterprises.ucdavis.extTable.extEntry.extOutput.2 = "hello world."# enterprises.ucdavis.extTable.extEntry.extErrFix.1 = 0# enterprises.ucdavis.extTable.extEntry.extErrFix.2 = 0从示例给出的结果可以证实:此种方法,只能查询出所执行脚本或指令所得到的第一行返回结果。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:11pm
栏目列表