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(<STDIN>)  
{  
    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 <UNKNOWN> [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的发送与接收就完成了。
时间: 2024-10-01 01:16:48

linux snmptrap的发送与接收的相关文章

linux网卡数据流 发送与接收

通常网卡驱动代码量比较大,但是都离不开发送与接收,掌握好骨干也就好理解与调试了. 数据发送 : 发送函数:xxx_start_xmit() 上层封装好了sk_buff丢进kernel后,buf存储在skb->data中,通 过 xxx_start_xmit(),发送出去. 下面的实例是通过写入某个设备节点发送出去,当然这个设备肯定是串口或者sdio等传输设备, 也可以直接调用写入函数将buf送出去. 比如sdio的写入: sdio_memcpy_toio(xxx->func, addr, bu

Linux系统下UDP发送和接收广播

// 发送端   02.#include 03.#include 04.#include<sys/socket.h>05.#include 06.#include<sys/types.h>07.#include 08.#include<netinet/in.h>09.#include<arpa/inet.h>10.#include 11.   12.   13.using namespace std;   14.   15.int main()   16.{

Postfix邮件发送和接收实验

Postfix邮件发送和接收实验首先打开三台虚拟机分别是linux.windows7(两台).把三台虚拟机的网卡设置成仅主机模式,linux虚拟机做dns服务器,给两台windows7配置IP和dns地址,IP地址的网段要和dns的地址在同一网段.两台Windows7虚拟机能够ping通dns服务器的地址1.安装dns包bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm2.进行主配置文件的配置3.区域配置文件的配置4.指定邮件交换记录5.开启named服务和关闭防火墙及

XMPP系列(四)---发送和接收文字消息,获取历史消息功能

今天开始做到最主要的功能发送和接收消息.获取本地历史数据. 先上到目前为止的效果图:              首先是要在XMPPFramework.h中引入数据存储模块: //聊天记录模块的导入 #import "XMPPMessageArchiving.h" #import "XMPPMessageArchivingCoreDataStorage.h" #import "XMPPMessageArchiving_Contact_CoreDataObje

microduino实现红外线发送与接收

一.目标:使用microduino套件实现红外线的发送与接收 二.材料:(1)模块:Microduino Core/Core+ (核心板),Microduino-USBTTL(下载程序) (2)传感器:红外线发射器,红外线接收器 (3)其它设备:Micro-USB线,面包板,导线 - 红外线发射器使用说明: 目前的红外发射器有两种规格,两脚的(左图)和三脚的(右图) 两脚的结构和普通LED管相似,长引脚接高电平,短引脚接低电平 三脚的连接情况分别是:5V,OUT,GND,其中OUT是指定的输出端

JavaWeb学习总结(五十一)——邮件的发送与接收原理

一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu.163等等他们都有自己的邮件服务器. 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中. 电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个账户,用户在邮件服务器上申请了一

DICOM医学图像处理:DIMSE消息发送与接收“大同小异”之DCMTK fo-dicom mDCM

背景: 从DICOM网络传输一文开始,相继介绍了C-ECHO.C-FIND.C-STORE.C-MOVE等DIMSE-C服务的简单实现,博文中的代码给出的实例都是基于fo-dicom库来实现的,原因只有一个:基于C#的fo-dicom库具有高封装性.对于初学者来说实现大多数的DIMSE-C.DIMSE-N服务几乎都是"傻瓜式"操作--构造C-XXX-RQ.N-XXX-RQ然后绑定相应的OnResponseReceived处理函数即可.本博文希望在前几篇预热的基础上,对比DCMTK.fo

node.js EventEmitter发送和接收事件

EventEmitter是nodejs核心的一部分.很多nodejs对象继承自EventEmitter,用来处理事件,及回调.api文档地址: http://nodejs.org/api/events.html#events_class_events_eventemitter Event: Many objects in Node emit events: a net.Server emits an event each time a peer connects to it, a fs.read

发送和接收数据包

发送和接收数据包 原文:Game Networking系列,作者是Glenn Fiedler,专注于游戏网络编程相关工作多年. 概述 在之前的网游中的网络编程系列1:UDP vs. TCP中(推荐先看前面那篇),我们经过讨论得出:网游中传输数据应该使用UDP而不是TCP.我们选择UDP是为了不需要等待重发数据包,从而达到数据的实时性. 注意,因为接下来英文原文中所有的代码是C++写的,而我是个pythoner,我的计划是:通过理解文章,我用python实现UDP收发数据包.虚拟连接(原文后两章的