日志采集方式 SNMP TRAP 和 Syslog 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志采集方式 SNMP TRAP 和 Syslog 的区别相关的知识,希望对你有一定的参考价值。

您好,很高兴为您解答。

文本方式

  在统一安全管理系统中以文本方式采集日志数据主要是指邮件或FTP方式。邮件
方式是指在安全设备内设定报警或通知条件,当符合条件的事件发生时,相关情况被一一记录下来,然后在某一时间由安全设备或系统主动地将这些日志信息以邮件
形式发给邮件接受者,属于被动采集日志数据方式。其中的日志信息通常是以文本方式传送,传送的信息量相对少且需专业人员才能看懂。而FTP方式必须事先开
发特定的采集程序进行日志数据采集,每次连接都是完整下载整个日志文本文件,网络传输数据量可能非常大,属于主动采集日志数据方式。

  随着网络高速的发展,网络内部以百兆、千兆甚至万兆互联,即使采取功能强大的计算机来处理日志数据包的采集工作,相对来说以上两种方式速度和效率也是不尽人意。因此,文本方式只能在采集日志数据范围小、速度比较慢的网络中使用,一般在网络安全管理中不被主要采用。

  SNMP
trap方式

  建立在简单网络管理协议SNMP上的网络管理,SNMP
TRAP是基于SNMP MIB的,因为SNMP MIB
是定义了这个设备都有哪些信息可以被收集,哪些trap的触发条件可以被定义,只有符合TRAP触发条件的事件才被发送出去。人们通常使用 SNMP
Trap
机制进行日志数据采集。生成Trap消息的事件(如系统重启)由Trap代理内部定义,而不是通用格式定义。由于Trap机制是基于事件驱动的,代理只有在监听到故障时才通知管理系统,非故障信息不会通知给管理系统。对于该方式的日志数据采集只能在SNMP下进行,生成的消息格式单独定义,对于不支持
SNMP设备通用性不是很强。

  网络设备的部分故障日志信息,如环境、SNMP访问失效等信息由SNMP
Trap进行报告,通过对 SNMP 数据报文中 Trap
字段值的解释就可以获得一条网络设备的重要信息,由此可见管理进程必须能够全面正确地解释网络上各种设备所发送的Trap数据,这样才能完成对网络设备的
信息监控和数据采集。

  但是由于网络结构和网络技术的多样性,以及不同厂商管理其网络设备的手段不同,要求网络管理系统不但对公有
Trap能够正确解释,更要对不同厂商网络设备的私有部分非常了解,这样才能正确解析不同厂商网络设备所发送的私有
Trap,这也需要跟厂商紧密合作,进行联合技术开发,从而保证对私有 Trap
完整正确的解析和应用。此原因导致该种方式面对不同厂商的产品采集日志数据方式需单独进行编程处理,且要全面解释所有日志信息才能有效地采集到日志数据。
由此可见,该采集在日常日志数据采集中通用性不强。

  syslog方式

  已成为工业标准协议的系统日志
(syslog)协议是在加里佛尼亚大学伯克立软件分布研究中心(BSD)的TCP/IP
系统实施中开发的,目前,可用它记录设备的日志。在路由器、交换机、服务器等网络设备中,syslog记录着系统中的任何事件,管理者可以通过查看系统记
录,随时掌握系统状况。它能够接收远程系统的日志记录,在一个日志中按时间顺序处理包含多个系统的记录,并以文件形式存盘。同时不需要连接多个系统,就可
以在一个位置查看所有的记录。syslog使用UDP作为传输协议,通过目的端口514(也可以是其他定义的端口号),将所有安全设备的日志管理配置发送
到安装了syslog软件系统的日志服务器,syslog日志服务器自动接收日志数据并写到日志文件中。

  另外,选用以syslog方式采集日志数据非常方便,且具有下述原因:

  第一,Syslog
协议广泛应用在编程上,许多日志函数都已采纳
syslog协议,syslog用于许多保护措施中。可以通过它记录任何事件。通过系统调用记录用户自行开发的应用程序的运行状况。研究和开发一些系统程
序是日志系统的重点之一,例如网络设备日志功能将网络应用程序的重要行为向 syslog
接口呼叫并记录为日志,大部分内部系统工具(如邮件和打印系统)都是如此生成信息的,许多新增的程序(如tcpwrappers和SSH)也是如此工作
的。通过syslogd(负责大部分系统事
件的守护进程),将系统事件可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录到远端设备上的事件。

  第二,当今网络设备普遍支持syslog协议。几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送
到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据
syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何
事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。

  第三,Syslog
协议和进程的最基本原则就是简单,在协议的发送者和接收者之间不要求严格的相互协调。事实上,syslog信息的传递可以在接收器没有被配置甚至没有接收器的情况下开始。反之,在没有清晰配置或定义的情况下,接收器也可以接收到信息。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~
参考技术A 两个不是一类概念,
TRAP是当满足某些条件了就是触发出一条信息,这条信息可以是通知,也可以是警报,比如说管理员登录进来后让系统发一条信息,管理员A在9点15的时候登录了服务器,或是做数据整理时在做到50%的时候发送一条信息出来。
这些信息你看完可能就看完了,但是你再需要他们回头查询的话就很费事,这时SYSLOG就帮上忙了,你可以指定说TRAP发信息时全都指到一个SYSLOG的服务器里,你每次查看信息也可以到SYSLOG服务里看就行了。这样历史LOG也不会丢。本回答被提问者和网友采纳

请问SNMP是啥,trap是啥?

参考技术A

SNMP一般指简单网络管理协议,简单网络管理协议(SNMP)是专门设计用于在IP网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。

trap为Linux命令,bash内置命令,可以查看shell环境信号和设置信号的处理方式。

使用格式(commands为命令,signals为信号的指代):

1):$trap"commands"signals#接收到signals指定的信号时,执行commands命令。

2):$trapsignals#如果没有指定命令就是恢复signals的动作。比如trapINT就是恢复Ctrl+C。

3):$trap""signals#忽略信号signals

4):$trap-l#列出所有的信号

扩展资料:

SNMP协议种类:

目前,SNMP有3种:SNMPV1、SNMPV2、SNMPV3。第1版和第2版没有太大差距,但SNMPV2是增强版本,包含了其它协议操作。与前两种相比,SNMPV3则包含更多安全和远程配置。为了解决不同SNMP版本间的不兼容问题,RFC3584中定义了三者共存策略。

SNMP还包括一组由RMON、RMON2、MTB、MTB2、OCDS及OCDS定义的扩展协议。

参考资料来源:百度百科-SNMP

参考资料来源:百度百科-trap

以上是关于日志采集方式 SNMP TRAP 和 Syslog 的区别的主要内容,如果未能解决你的问题,请参考以下文章

syslog介绍-CS架构来采集系统日志

硬件层监控之Zabbix-snmp-trap企业级实战

Logstash和Flume-NG Syslog接收小测试

请问SNMP是啥,trap是啥?

求教linux下如何配置snmp trap

如何在windows2008建立syslog服务器