linux环境snmptrap告警命令中间服务器接收和转发配置

前言

由于公司网络架构原因,需要设置中间转发服务器来接收和转发snmp trap告警命令。那么实现中间服务器转发的思路如下:
(1)受管方、转发服务器和管理方需要安装snmp。
(2)转发服务器需要接收snmptrap告警命令
(3)转发服务器接收告警命令后自动触发perl脚本进行告警处理并转发
本文主要讲解转发服务器的snmptrap告警的接收和转发配置。

步骤

一、安装snmp

二、转发服务器配置

1、配置snmptrapd.conf文件。

打开snmptrapd.conf文件:

vi /etc/snmp/snmptrapd.conf

配置命令如下:

# authcommunity是为了设置所有用户的访问权限:可执行,记录,传递。
authcommunity execute,log,net public
disableAuthorization yes
# 设置traphandle(即收到.1.3.6.1.4.1.2021.251.1类OID信息时,执行test.pl)。
traphandle .1.3.6.1.4.1.2021.251.1  /root/traptest/test.pl

2、编写test.pl脚本。

我这里用的是perl脚本进行转发(具体语法可参考 菜鸟教程),你也可以采用其他语言。

#!/usr/bin/perl  
use strict;  
my $file="file.trap";  
open(HANDOUT,">>$file");
my $str2="SNMPv2-MIB::sysLocation.0";  
# 逐行获取trap告警信息
while(<STDIN>){
	# 将信息添加至file.trap
	print HANDOUT  "$_";
	# 判断如果SNMPv2-MIB::sysLocation.0在其中,则转发信息至受管方
	if("$_" =~ "SNMPv2-MIB::sysLocation.0"){
		#转发命令自己根据需求配置
		#system("snmptrap -v 2c -c public 192.168.182.129:162 \"\" .1.3.6.1.4.1.2021.251.1 sysLocation.0 s \"this is test\"");
		print HANDOUT  "已经转发";
	} 
} 

3、设置默认配置文件。

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

snmptrapd -c /etc/snmp/snmptrapd.conf

三、测试

1、转发服务器启动snmp服务。

启动snmp服务并显示详细信息

snmptrapd -d -f -Lo

2、受管方发送snmptrap测试告警。

snmptrap报文:

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"

3、转发服务器接收如下信息。

显示如下信息,则证明就收成功
在这里插入图片描述
查看file.trap文件显示如下信息证明转发完成:
在这里插入图片描述

总结

snmp和perl安装可以参考我的其他文章,如有问题欢迎留言讨论。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值