linux抓取snmp trap告警命令,linux snmptrap的发送与接收

2022-09-24 12:44:02 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

linux snmptrap的发送与接收

由于需要管理服务器的一些参数,比如CPU使用率,IOwait之类的指标,管理方通过snmpwalk进行五分钟一次对受管服务器的轮询。

此类指标为业务指标,是必须了解的一些参数,另需要有告警指标信息。

但由于告警信息一般是由受管服务器进行主动告警,这时候就不能通过管理方主动使用snmpwalk来进行,而是由受管服务器通过snmptrap进行。

以下是对双方进行snmptrap的一些设置。

首先是管理方,需要先配置snmptrapd.conf,可以将之放在与snmpd.conf同一个路径下,在我本地环境下为(/etc/snmp/snmptrapd.conf)

配置代码:

Conf代码

authcommunity execute,log,net public

traphandle .1.3.6.1.4.1.2021.251.1 /root/traptest/test.pl

其中authcommunity是为了设置所有用户的访问权限:可执行,记录,传递。

设置traphandle(即收到.1.3.6.1.4.1.2021.251.1类OID信息时,执行test.pl)。

test.pl的内容:

Perl代码

#!/usr/bin/perl

use strict;

my $file=”file.trap”;

open(HANDOUT,”>>./$file”);

while()

{

print HANDOUT “$_”;

}

然后输入命令:

Linux代码

snmptrapd -c /etc/snmp/snmptrapd.conf

将此配置文件设置为默认配置文件,并启动snmptrapd进程:

Linux代码

# snmptrapd -d -f -Lo

在受管方,使用命令:

Linux代码

snmptrap -v 2c -c public 10.0.0.214:162 “” .1.3.6.1.4.1.2021.251.1 sysLocation.0 s “this is test”

而后在管理方会接收到如下信息:

Linux代码

Received 98 bytes from UDP: [221.176.14.88]:58750

0000: 30 60 02 01 01 04 06 70 75 62 6C 69 63 A7 53 02 0`…..public.S.

0016: 04 1B CE 4F F1 02 01 00 02 01 00 30 45 30 10 06 …O…….0E0..

0032: 08 2B 06 01 02 01 01 03 00 43 04 28 8D B0 5B 30 . …….C.(..[0

0048: 18 06 0A 2B 06 01 06 03 01 01 04 01 00 06 0A 2B … ………..

0064: 06 01 04 01 8F 65 81 7B 01 30 17 06 08 2B 06 01 …..e.{.0… ..

0080: 02 01 01 06 00 04 0B 6C 6F 6E 67 74 65 6E 67 66 …….this is test

0096: 65 69

2012-07-16 10:44:17 [UDP: [221.176.14.88]:58750]:

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (680374363) 78 days, 17:55:43.63 SNMPv2-MIB::snmpTrapOID.0 = OID: UCD-SNMP-MIB::ucdStart SNMPv2-MIB::sysLocation.0 = STRING: this is test

至此,最简单的snmptrap的发送与接收就完成了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171464.html原文链接:https://javaforall.cn

0 人点赞