snmpttconf配置

snmpttconf配置

一、snmptt conf配置

配置文件(通常/etc/snmp/snmptt.conf 或者c:\snmpsnmptt.conf)包含了一列已定义的traps。 如果你的snmptt.conf文件比较大,可以将其细分为多个文件,将这些配置文件包含在snmptt.ini文件中的snmptt_conf_files部分,如:

snmptt.conf文件的语法为:

注:EVENT和FORMAT行是必须的。在[]中的命令是可选的。不要在配置文件中包含[]s

EVENT event_name event_OID “category” severity event_name : 不能包含空格。当使用snmpttconvertmib转换时,这个名字将与MIB文件中TRAP-TYPE或者NOTIFICATION-TYPE行的名字匹配 event_OID : 一般形式如:.1.3.6.1.4.1.232.0.11001 如果Net-SNMP perl模块安装,并且在snmptt.ini文件中设置了net_snmp_perl_enable为开启,则可以使用符号名,如: linkDown IF-MIB::linkDown 注:当翻译OID时,Net-SNMP 5.0.9 和更早的版本不支持包含模块名字(如:IF-MIB::) 。SNMP V1 traps 的企业ID格式为(.1.3.6.1.4.1.232) ,后面跟上一个0,再跟上trap号(11001)。这样可能导致在配置文件中相同的trap OID存在多条定义。如果在snmptt.ini文件中允许了multiple_event,那么将处理所有匹配的traps。如果multiple_event禁止,只有第一个匹配的条目被使用

OID中可以使用通配符,例如:.1.3.6.1.4.1.232.1.2.* category : 特色字符串包含在双引号中。如果为“IGNORE”,则snmptt.conf中包含的FORMAT和EXEC都忽略。 如果类型为“LOGONLY”,则trap信息被日志记录,EXEC声明被忽略。 注:如果你打算使用Naigos等外部程序,则最好不要设置任何trap为LOGONLY,就好像不要使用EXEC来进行被动服务检查。 severity : 事件的级别,用于日志。如:Minor,Major,Normal,Critical,Warning。

FORMAT format_string 每个EVENT只能有一行FORMAT 使用如下的变量在字符串上进行变量替换:

注2: 如果snmptt.ini文件中的translate_integers被允许,SNMPTT将尝试查找MIB文件,将收到的trap中的数字转换为文本。为了使这个功能可用还有如下条件需要满足:必须安装了Net-SNMP/UCD-SNMP模块,并在snmptt.ini文件中开启了net_snmp_perl_enable选项。另外,为了是该功能可用,需要确保Net-SNMP/UCD-SNMP配置正确。如果选项开启,却没有将数字转换成文本,数字将会使用。如果MIB文件存在,但是却没有转换,需要在snmp.conf文件中正确配置,来处理所有的mibs。或者,你可以在snmptt.ini文件中设置mibs_enviroment变量为ALL.

注3:如果需要 +n,\(-n变量名和类型转换为文本,则也需要在snmptt.ini文件中开启net_snmp_perl_enable选项。 这个其实和注2一样。</p><p> 注4:如果需要将数字的OID转换为文本,需要在snmptt.ini文件中,开启translate_trap_oid选项和net_snmp_perl_enable选项,并安装了Net-SNMP/UCD-SNMP模块。</p><p> 注6:snmptt.ini文件中必须设置description_mode值为1或者2。 如果设置为1,描述从SNMPTT.CONF文件中获取。如果设置为2,描述从MIB文件中获取。</p><p> [EXEC command_string] 可以一个EVENT,多行EXEC。 当一个trap接收到后,则按照顺序执行命令。 EXEC使用的变量替换跟FORMAT行中的一样。 例如: EXEC /usr/bin/qpage -f TRAP alex "\)r: \(x \)X - NIC switchover to slot \(3, port \)4 from slot \(5, port \)6” EXEC c:\snmp\pager netops “\(r: \)x \(X - NIC switchover to slot \)3, port \(4 from slot \)5, port \(6" </p><p> [PREEXEC command_string] 每个EVENT,可以有多行PREEXEC 当一个trap收到后,在FORMAT和EXEC声明执行之前,要执行得语句和命令。外部程序的输出将保存在\)pn变量中,n从1开始计数。当有多行PREEXEC时,第一个PREEXEC存储结果到\(p1,第二个PREEXEC将结果存在\)p2。要开启这个功能,需要在snmptt.ini文件中,设置pre_exec_enable选项 例子:

[NODES sources_list] 可以限制哪些设备可以映射为事件定义 每个EVENT,可以有多个NODES行。 sources_list中可以包含任意主机名、IP地址、网络地址或者文件名的组合。如果这个字符串被省略,则所有的设备都被接受。 如果想192.168.1.0/24网段的设备可以触发这个EVENT, 你可以使用一条NODE语句: NODES 192.168.1.0/24 这里有两种操作模式,POS(positive-默认)和NEG(negative)。如果设置为POS,那么NODES中的任何一行匹配,则允许。如果设置为NEG,只有当NODES中都不匹配时,才允许。为了改变操作模式,使用如下声明: NODES MODE=POS NODES MODE=NEG 这个特色经常用在,对于相同的事件,一些需要按照常规处理,一些需要按照特殊处理。如 例一 NODES fred barney betty wilma 例二 NODES fred barney betty wilma NODES MODE=NEG

[MATCH [MODE=[or | and]] | [$n:[!][( )[i] | n | n-n | > n | < n | x.x.x.x | x.x.x.x-x.x.x.x | x.x.x.x/x]] 匹配这个MATCH的trap,才可以引发相应的EVENT定义。 如果一条MATCH声明已经存在,没有trap匹配它,默认的,没有EVENT定义会被匹配。 如下的perl正则表达式被支持: i – 忽略大小写 如下的命令模式可用:

注:如果为了基于IP地址/主机名来限制可以映射的EVENT的设备,推荐使用NODES关 键字。如果模式设置为’or’,只要有一条匹配,则认为结果是true;如果模式为and,只要有一 条匹配失败,则认为结果为false。在表达式中使用圆括号(),需要跟在\号之后。 如果没有MATCH MODE=这样的行存在,默认为or。每个EVENT,只能有一条match mode存在。如果多行MATCH MODE=存在,只有最后一样被使用。 例如:

[REGEX( )( )[i][g][e]] 在translated FORMAT/ EXEC行 进行搜索和替换。 多个REGEX()()行被允许。 第一个()包含了查找的表达式;第二个()包含了替换的文本。 如下的Perl正则表达式被支持:

列2:

列3:

列4:

这两个标识符之间的是描述,会被snmptt忽略。

当在配置文件中对相同的trap存在多个定义时,如下的规则被应用: A match occurs when:

如果在snmptt.ini文件中设置multiple_event为1:

如果snmptt.ini文件中设置multiple_event 为0:

原文链接: http://blog.chinaunix.net/uid-261392-id-2138987.html

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。