基于Syslog的网络日志管理平台

网络天地• Network World12 •电子技术与软件工程 Electronic Technology & Software Engineering【关键词】Syslog 模式匹配 日志分析 告警 监控Syslog 是一种工业标准的协议,用来记录设备的运行日志,在Linux 系统、路由器、交换机等网络设备中日志记录了系统中发生的大小事件。

运维人员通过审计日志记录可以随时掌握系统和应用程序的状态。

目前存在RFC3164和RFC5424两个规范,文章主要应用RFC3164这个规范,其中描述了BSD Syslog 协议,这个协议不是强制性的,很多设备并不完全遵守这个规范。

实际运维中发现不同设备日志格式是不同的,协议中定义的严重性并不能完全符合运维需要,这就需要根据系统特征定义符合实际应用的规则对日志进行处理。

1 RFC3164 Syslog协议RFC3164规范中Syslog 日志信息发送使用UDP 协议的514端口,信息长度不能大于1024字节,格式如图1所示由PRI 、HEADER 、MSG 三部分组成,PRI 由带尖括号的一个数字构成,这个数字包含了日志的程序模块(Facility )、严重性(Severity )信息,由Facility 乘以8加上Severity 得来。

Facility 如表1所示,Severity 如表2所示。

HEADER 部分包括两个字段,Time 和Name,Time 紧跟在PRI 后面中间没有空格,格式是“mm dd hh:mm:ss ”,不包括年份。

“日”的数字如果是1~9,前面会补一个空格,“小时”、“分”、“秒”在前面补“0”。

HEADER 部分后面跟基于Syslog 的网络日志管理平台文/刘磊 孙路强 周利霞 许贺本文基于Syslog 的网络日志管理平台对海量日志进行收集,并通过模式匹配的方法对日志进行了分析,形成了日志分析告警,有效对设备和服务运行状态进行监控,在实际应用中很好的解决了暴力破解发现,异常操作感知等问题。

摘 要一个空格,之后是MSG 部分。

MSG 部分有两个部分TAG 和Content 。

其中TAG 部分是可选的,TAG 后面用一个冒号隔开Content 部分,这部分的内容是应用程序自定义的。

一条典型的日志信息如下所示:<78>Dec 4 17:30:01 nagios /usr/sbin/cron[5545]: (cactiuser) CMD (/usr/bin/php5 /srv/www/htdocs/cacti/poller.php > /dev/null 2>&1)2 日志收集系统实现2.1 服务器收集端配置为了更好的对系统日志进行分析,根据RFC3164规范编写了日志收集系统,在收集系统中定义了设备编号、严重级别、日志来源、接收字节大小,绑定IPv4网络协议套接字、UPD 接口类型,通过514端口接收数据包,对接收的数据包数据进行分离,分离出设备名称、设备地址、发生时间、日志来源、日志等级、日志内容等信息,插入到Mysql 数据库,实现了日志信息的集中收集,为了提高检索效率,对每一台设备建立了单独的数据表。

2.2 客户端系统配置(1)在suse linux 中一般使用syslog-ng,在系统的/etc/syslog-ng 下,配置syslog-ng.conf,定义日志来源source 、日志目标destination 、使用端口port ,通过发送命令log{ source(my_log); destination(center_log_server); };发送到日志收集端。

(2)在centos linux 中,一般使用rsyslog,通过/etc/rsyslog.conf 进行配置,通过命令*.* @remote-host:514进行配置,通过UDP 514端口发送到日志收集端。

(3)在h3c 交换机中,通过info-center loghost IP port 514命令发送到日志收集端。

日志收集实现:日志服务器实现了路由器、防火墙、●基金项目:地震科技星火项目(XH18003Y)《地震信息网络日志智能管理平台设计与实现》。

图1:Syslog 标准协议解析示意图图2:设备日志信息收集Network World •网络天地Electronic Technology & Software Engineering 电子技术与软件工程• 13<<下转14页DNS 、交换机、FTP 服务、WEB 服务、NTP 服务、Oracle 服务、Mysql 服务等日志信息的收集,如图2所示,Mysql 数据库中汇集的日志信息如图3所示。

通过日志收集发现,系统定义的日志事件严重等级和需要的告警并不是完全匹配的,发现在已知系统中日志格式是相似的,对应的异常是可知的,当未引入新的进程或未发生新的异常时日志种类是有限的。

根据日志有限的特性可以应用统计规则对运行日志进行精确分类,标识出所有已知的日志,构建日志白名单规则,利用白名单进行日志告警。

部分告警规则如表3所示。

2.3 日志统计告警实现通过告警规则进行字符串匹配和分类,在日志数量相当庞大时,实现逐条告警也是不可取的。

对最近10分钟内接收的日志进行分析,对特定日志类型或某类日志达到一定数量进行告警并对运维人员发送信息。

如图4所示。

3 日志管理中需要解决的问题(1)日志信息采集系统运行半年来个别系统日志信息达到25G ,对数据库性能造成很大影响,分析发现很多信息与系统运行无关,如何剔除这些无关信息是以后需要解决的重点。

(2)随着时间的推移,日志信息量不断增加,对海量日志数据进行查询时,Mysql 数据库的性能瓶颈问题显现,可以考虑使用非关系型数据库或者混合型数据库,解决海量数据下传统数据库性能上的瓶颈问题。

(3)本文的告警规则是在统计的基础通过人工筛选的方法实现的,这种方法只适用于小型数据中心,在大型数据中心或者种类繁多的设备和服务下,人工筛选的方法就不适用了,表1:系统日志的设备编号数值模块含义0kernel 内核消息1user 用户消息2mail 邮件相关3daemaon 系统守护进程4auth 认证相关5syslog 日志相关6lpr 打印相关的7news 新闻相关8UUCP UUCP 相关9cron 任务计划相关10authpriv 授权相关11FTP FTP 守护进程12NTP NTP 子系统13log audit 日志审计14log alert 日志警报15cron 任务计划相关16-23local 0-7用户自定义表2:系统日志的严重级别数值严重性含义0Emergency 紧急的1Alert 必须马上处理的2Critical 比较严重的3Error错误信息4Warning可能影响系统功能,需要提醒用户的重要事件5Notice不影响正常的功能,需要提醒用户的重要事件6Informational 一般信息7Debug程序或系统的调试信息就要引入数据挖掘、机器学习的方法对数据进行分析。

(4)需要根据实际情况建立详细告警规则,特征字符匹配仅能实现简单告警,详细的告警规则需要依靠实际生产情况进行制定,如某个IP 段对一些服务区进行访问就可以认定为异常、在一定时间段内登录密码错误几次就可以认定为异常等。

4 结束语本文实现了基于Syslog 的网络日志管理和分析,对日常网络设备日志进行了收集和分析,通过模式匹配的方法实现了事件检测和告警,但是在检测特征字符的选取上更多的是靠人工统计,在准确程度和效率上都明显存在不足,引入人工智能的方法对已有的日志数据进行分析,提取特征字符,分析运行信息是以后研究的方向。

参考文献[1]黄艺海,胡君.日志审计系统设计与实现[J],计算机工程,2014,32(22):67-93.[2]I E T F R F C 3164,T h e B S D s y s l o g图4:10分钟内告警统计图3:设备日志信息网络天地• Network World14 •电子技术与软件工程 Electronic Technology & Software Engineering表3:部分告警规则设备或服务类型行为代码行为名称告警规则linux login 登录Accepted password linux login 登录Accepted keyboard linux logout 退出登录Received disconnectswitch login 登录LOGIN switch logout 退出登录LOGOUT switch command 操作命令相关CMD switch command 操作命令相关CLI switch linkup 链路连通LINK.*is up switch linkdown 链路中断LINK.*is down switch linkup 链路连通LINK.*into UP switch linkdown 链路中断LINK.*into DOWNfirewall login faild 登录失败login faild switch fan failed 风扇损坏Fan.*failed nagios nagios down 设备离线HOST ALERT.*down mysql connect error mysql 连接错误error.*connect.*mysql nagiosndomod unable connectndomod 数据错误ndomod.*unable.*connect<<上接13页Protocol[S], C. Lonvick, August 2001.[3]刘绪忠,王健.未匹配告警SYSLOG智能标准化研究[J],山东通信技术,2012,37(01):40-43.[4]张骁,应时,张韬.应用软件运行日志的收集与服务处理框架[J],计算机工程与应,2011,54(10):81-89.[5]李清,沈彤,关毅.面向大规模日志数据的聚类算法研究[J].智能计算机与应用,2002(05):42-45.[6]王卫华,应时,贾向阳等.一种基于日志聚类的多类型故障预测方法[J].计算机工程,2013,44(07):67-73.作者简介刘磊(1984-),男,天津市人。

硕士学位。

工程师,主要从事地震信息网络运行维护工作。

作者单位天津市地震局 天津市 300201【关键词】网页设计 CSS 引用方式 优先级 精灵技术1 CSS技术简介CSS ,即Cascading Style Sheets ,又称为层叠样式表。

它是一种计算机语言,用于表现HTML 或XML 等文件的样式。

合集下载

Linux系统的系统日志管理和分析工具比较

Linux系统的系统日志管理和分析工具比较

Linux系统的系统日志管理和分析工具比较在Linux系统中,系统日志是存储和记录系统运行时的重要信息和事件的一种机制。

这些日志可以帮助系统管理员追踪问题、监控系统状态和进行故障排查。

为了更有效地管理和分析系统日志,许多工具被开发出来。

本文将比较并介绍几种常用的Linux系统日志管理和分析工具。

1. Syslog-ngSyslog-ng是一个功能强大的开源系统日志管理工具,它能够收集、过滤和转发系统产生的日志。

Syslog-ng支持灵活的日志过滤规则和插件机制,使得管理员能够根据需要自定义日志处理流程。

此外,Syslog-ng还支持多种日志格式,并能将日志导出到不同的目标,如文件、远程服务器等。

该工具易于使用,并且具有丰富的文档和社区支持。

2. rsyslogrsyslog是一个高性能的系统日志记录工具,它是syslog的一个升级版本。

与Syslog-ng类似,rsyslog支持多种日志格式和目标,还具备强大的日志过滤功能。

rsyslog提供了插件机制,可以集成到其他系统或应用中,实现更复杂的日志处理需求。

此外,rsyslog还支持TCP和UDP协议,使得日志传输更加灵活可靠。

3. logrotatelogrotate是一个用于管理系统日志轮换的工具。

它能够定期检查和压缩系统的日志文件,防止日志过度增长导致存储空间不足。

logrotate 支持灵活的配置选项,可以指定日志保存的时间长度、压缩算法等。

此外,logrotate还能触发其他动作,如发送邮件通知,方便管理员及时了解和处理日志问题。

4. JournalctlJournalctl是systemd提供的一个强大的日志管理工具,用于查看和分析系统的日志消息。

它能够以人类可读的格式输出日志,并支持多种过滤和查询选项,如按时间范围、服务名、日志级别等。

Journalctl 还支持实时监控和跟踪日志,方便管理员实时查看系统运行状态和故障排查。

5. Elasticsearch + Logstash + Kibana (ELK)ELK是一个流行的开源日志分析平台,由Elasticsearch、Logstash 和Kibana三个组件组成。

syslog之一:Linuxsyslog日志系统详解

syslog之一:Linuxsyslog日志系统详解

syslog之⼀:Linuxsyslog⽇志系统详解# ⼀、syslog简介syslog是⼀种⼯业标准的协议,可⽤来记录设备的⽇志。

在UNIX系统,路由器、交换机等⽹络设备中,系统⽇志(System Log)记录系统中任何时间发⽣的⼤⼩事件。

管理者可以通过查看系统记录,随时掌握系统状况。

UNIX的系统⽇志是通过syslogd这个进程记录系统有关事件记录,也可以记录应⽤程序运作事件。

通过适当的配置,我们还可以实现运⾏syslog 协议的机器间通信,通过分析这些⽹络⾏为⽇志,藉以追踪掌握与设备和⽹络有关的状况。

功能:记录⾄系统记录。

# ⼆、syslog服务与配置2.1、安装syslog软件包软件包名称为:rsyslog-5.8.10-10.el6_6.x86_64我⽤的是centos系统,配置的有第三⽅的yum源,我直接yum install直接装就OK了装完后⽤ rpm -qa | grep syslog下看是否已安装2.2、syslog⽇志系统可以根据程序详细信息的不同定义不同的⽇志级别2.3、Linux上的⽇志系统分为:syslog和syslog-ng(syslog⽇志系统的升级版)2.4、syslog服务:syslog服务进程分两个,分别是:syslogd(系统,⾮内核产⽣的⽇志)和klogd(专门记录内核产⽣的⽇志)kernel-->物理终端(/dev/console)-->/var/log/dmesg 其中/var/log/dmesg⽂件可以使⽤dmesg命令和cat查看⽂件内容⽇志滚动(⽇志切割):所谓的滚动是指历史信息所保存的⽇志,如;messages⽂件⽇志会越来越⼤等到了某⼀段时间,会把messages⽂件重新命名为messages.1,系统并重新创建messages⽂件,所以叫做⽇志滚动/sbin/init/var/log/messages:系统标准错误⽇志信息;⾮内核产⽣的引导信息,各⼦系统产⽣的信息/vat/log/maillog:邮件系统产⽣的⽇志信息/vat/log/secure:安全相关log系统⾃带的⽇志切割程序logrotatelogrotate脚本配置⽂件[root@localhost cron.daily]# pwd/etc/cron.daily[root@localhost cron.daily]# vim logrotate滚动⽇志信息配置⽂件[root@localhost cron.daily]# pwd/etc/cron.daily[root@localhost cron.daily]# vim /etc/logrotate.conf# see "man logrotate"for details# rotate log files weeklyweekly #每周滚动⼀次# keep 4 weeks worth of backlogsrotate 4 #只保留4个切割版本⽂件,超过后清除# create new (empty) log files after rotating old onescreate #滚动完之后创建⼀个空的新的⽂件# use date as a suffix of the rotated filedateext# uncomment this if you want your log files compressed#compress# RPM packages drop log rotation information into this directoryinclude /etc/logrotate.d #包括/etc/logrotate.d 下的⽂件,⼿动添加可直接添加到此⽬录# no packages own wtmp and btmp -- we'll rotate them here/var/log/wtmp{monthly #按⽉,⾃⼰定义create 0664 root utmp #创建⽂件并0664权限minsize 1M #最新1Mrotate 1 #保留⼏个版本}/var/log/btmp{missingokmonthlycreate 0600 root utmprotate 1}# system-specific logs may be also be configured here.[root@localhost cron.daily]#syslog配置⽂件/etc/rsyslog.conf注:centos 6 的配置⽂件是/etc/rsyslog.conf,centos5的配置⽂件是/etc/syslog.conf2.5、配置⽂件定义格式为facility.priority actionfacility是指哪个facility来源产⽣的⽇志; priority是指拿个级别的⽇志;action是指产⽣⽇志怎么办是保存在⽂件中还是其他。

linux下syslog-ng日志集中管理服务部署记录

linux下syslog-ng日志集中管理服务部署记录

linux下syslog-ng⽇志集中管理服务部署记录syslog是Linux系统默认的⽇志守护进程,默认的syslog配置⽂件是/etc/syslog.conf⽂件。

syslog守护进程是可配置的,它允许⼈们为每⼀种类型的系统信息精确地指定⼀个存放地点。

⽐较 syslog ,syslog-ng 具有众多⾼级的功能:更好的⽹络⽀持,更加⽅便的配置,集中式的⽹络⽇志存储,并且更具有弹性。

⽐如,使⽤syslogd时,所有的iptables⽇志与其他内核⽇志⼀起全部存储到了kern.log⽂件⾥。

Syslog-ng则可以让你有选择性的将iptables部分分出到另外的⽇志⽂件中。

Syslogd仅能使⽤UDP协议,Syslog-ng 可以使⽤UDP和TCP协议。

所以我们可以在加密的⽹络隧道中传输⽇志到集中⽇志服务器。

syslog-ng的⼀个设计原则就是建⽴更好的消息过滤粒度。

syslog-ng能够进⾏基于内容和优先权/facility的过滤。

另⼀个设计原则是更容易进⾏不同防⽕墙⽹段的信息转发,它⽀持主机链,即使⽇志消息经过了许多计算机的转发,也可以找出原发主机地址和整个转发链。

最后的⼀个设计原则就是尽量使配置⽂件强⼤和简洁。

syslog-ng作为syslog的替代⼯具,可以完全替代syslog的服务,并且通过定义规则,实现更好的过滤功能。

之前介绍了,下⾯简单介绍下syslog-ng⽇志集中管理服务部署记录:下⾯部署实例⽬的:实现接收远程客户端服务⽇志(nginx、mysql、php、apache)保存在本地⼀台⽇志服务器上提供查看。

即远程客户机采⽤syslog-ng将其⽇志通过管道pipe传送到本地的⽇志服务器上进⾏查看。

⼀、syslog-ng安装(服务端和客户端都要安装)[root@syslog-ng ~]# wget /pub/epel/epel-release-latest-6.noarch.rpm[root@syslog-ng ~]# rpm -ivh epel-release-latest-6.noarch.rpm --force[root@syslog-ng ~]# yum install syslog-ng -y==============================================================================================温馨提⽰:由于⽇志集中管理服务syslog-ng采⽤的是C/S架构,所以客户端也需要安装syslog-ng。

kiwi syslog server使用方法

kiwi syslog server使用方法

kiwi syslog server使用方法Kiwi Syslog Server是一款功能强大的日志管理工具,允许你收集、分析和存储网络设备生成的日志,同时提供了广泛的监控和报警功能。

以下是关于Kiwi Syslog Server的详细使用方法指南。

1.下载与安装:Kiwi Syslog Server可以从官方网站免费下载。

下载完软件后,双击安装包进行安装,并依照向导完成安装过程。

2.启动与配置:安装完成后,打开Kiwi Syslog Server。

首次启动时,你将被要求设置管理员密码。

然后,你可以选择启用SSL安全连接、指定监听端口等。

3.添加设备:在Kiwi Syslog Server主界面的左侧面板,点击“设备”选项卡,在设备管理界面点击“添加设备”。

在弹出的对话框中,输入设备的IP地址或主机名,并选择设备类型。

你还可以选择添加设备时自动扫描所有网络设备。

4.配置设备:配置每个设备的策略非常重要。

点击设备管理界面中的设备,然后点击“编辑设备”。

在“设备属性”对话框中,你可以设置设备的名称、位置和描述等信息。

在“设备操作”对话框中,你可以设置接收设备的方式(如通过UDP或TCP协议)以及设备发送的日志格式(如RFC 5424或Cisco格式)。

5.配置过滤规则:在Kiwi Syslog Server中,你可以为每个设备配置过滤规则。

过滤规则根据日志内容的关键字、设备名称、IP地址等进行匹配。

点击设备管理界面中的设备,然后点击“过滤规则”。

在“日志过滤规则”对话框中,设置过滤条件和操作。

你可以选择忽略日志、发送电子邮件通知、运行自定义脚本等。

6.存储与备份:Kiwi Syslog Server允许你将日志存储在本地磁盘或远程数据库中。

点击主界面的“文件”选项卡,选择“设置存储”。

在“存储设置”对话框中,选择存储方式、路径和保留日志的时间。

你还可以设置定期备份以及远程数据库的连接。

7.报表与统计:Kiwi Syslog Server提供了丰富的报表功能,帮助你分析和监控网络设备的日志。

winsyslog部署日志服务器

winsyslog部署日志服务器

部署日志服务器关键字: java在使用华城瑞安网络安全产品,比如AppRock,NetRock的方案中,需要对设备的日志进行保存和记录。

日志可以帮助我们分析设备是否正常,网络是否健康,所以任何设备或系统都应该建立完整的日志系统,这样我们就可以面对任何问题并及时解决问题了。

本文将为大家介绍如何给华城瑞安网络安全产品建立日志服务器,通过日志服务器我们就可以掌握数据通过防火墙等安全设备的基本情况,以及各种攻击信息。

遇到突发事件可以通过分析日志来快速解决问题。

华城瑞安网络安全产品硬件内部也集成了syslog日志循环记录功能,但是对于需要保存所有日志信息的环境,需要建立外部独立的日志服务器对日志进行保存,以供更加详细的分析。

很多情况下都是使用Linux或者Unix日志服务器,但是对于管理员的要求过高,这里我们将建立一个windows平台下的日志服务器。

网络安全产品的一些重要信息可以通过SYSLOG机制在内部网络的日志服务器上记录日志。

这些重要信息包括链路建立失败信息,防火墙操作信息和包过滤信息等日志信息。

所以只要在日志服务器上启用SYSLOG接收服务,再在防火墙上指定日志服务器的IP地址为日志服务器即可。

配置起来不是很烦琐,而监视起来效果明显。

我们使用的日志服务器软件是“Syslog for windows”,点击这里可以下载。

该软件可以在任何windows系统上安装运行。

下载后直接点击安装,就行了。

安装完成以后,在windows上打开一个命令行窗口,进入安装目录,执行“ C:\syslog>syslogd.exe –i ” 安装syslog到系统服务中(使每次系统重启以后能够自动运行syslog服务)。

到这里,日志服务器就安装完成了,使用安装后的默认配置就OK了。

接下来配置华城瑞安的设备(防火墙,VPN,应用防火墙上的配置都是一致的)。

在华城瑞安网络设备的WebUI管理界面中,选择“日志管理”-》“日志选项”菜单,打开如下的设置页面:勾选“允许系统日志发送到远程日志服务器”,配置日志服务器的IP地址,然后选择需要记录的日志类型,最后点击“保存”就可以生效了。

配置rsyslog,实现设备日志的集中管理

配置rsyslog,实现设备日志的集中管理

配置rsyslog,实现设备日志的集中管理配置rsyslog,实现设备日志的集中管理这次为了把交换机及路由器的日志文件集中放置,并方便调试,安装了rsyslog,并对其进行配置,使其可记录网络设备传来的syslog,并将之存入 Mysql数据中,以便我们集中管理,下面是具体的配置过程:1、首先从下载并安装最新版本的 rsyslog2、安装时很容易(1)把源代码解压,并进入源代码树中执行:./configure --enable-mysql这里要注意,你的mysql要安装正确,特别是版本,比如我的mysql版本是:5.0.22,系统是redhat,那么我就要安装有MySQL- client-standard-5.0.22-0.rhel4.i386.rpm,总之如果这一步执行出错,比如我的刚开始是提示错误:checking for mysql_init in -lmysqlclient 在这一步有问题,后来重新安装了MySQL-client-standard-5.0.22-0.rhel4.i386.rpm就ok了(2)依次执行:make和make install就ok3、配置rsyslog.conf在源代码树下有一个示例文件,把它拷贝到/etc下(1)如果你要接受远程设备的syslog则要把以下三行的#去掉:# UDP Syslog Server:#$ModLoad imudp.so # provides UDP syslog reception#$UDPServerRun 514 # start a UDP syslog server at standard port 514并同时在iptables中开放514端口(2)配置rsyslog自动启动由于rsyslog没有为redhat准备启动脚本,所以要我们自己建,其实也很简单,我直接把syslog的启动脚本改了下,把里面的syslog 改为 rsyslog,如下所示:more /etc/init.d/syslog#!/bin/bash### chkconfig: 2345 12 88# description: Syslog is the facility by which many daemons use to log \# messages to various system log files. It is a good idea to always \# run syslog.### BEGIN INIT INFO# Provides: $syslog### END INIT INFO# Source function library.. /etc/init.d/functions[ -f /usr/local/sbin/rsyslogd ] || exit 0[ -f /sbin/klogd ] || exit 0# Source configRETVAL=0start() {echo -n $"Starting rsyslog: "/usr/local/sbin/rsyslogdRETVAL=$?echoecho -n $"Starting kernel logger: "daemon klogd $KLOGD_OPTIONSecho[ $RETVAL -eq 0 ] && touch /var/lock/subsys/rsyslogreturn $RETVAL}echo -n $"Shutting down kernel logger: "killproc klogdechoecho -n $"Shutting down rsyslog: "killproc rsyslogdRETVAL=$?echo[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/rsyslog return $RETVAL}rhstatus() {status rsyslogdstatus klogd}restart() {stopstart}case "$1" instart)start;;stop)stop;;status)rhstatus;;restart);;condrestart)[ -f /var/lock/subsys/rsyslog ] && restart || :;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart}"exit 1esacexit $?就只改了一点点,名字也没变,这样出不用ln来建链接了,都用原来的(3)记录到mysql如果要使用sql来记录日志则先要建表,找到rsyslog-3.20.0\plugins\ommysql下的createDB.sql文件,打开它,把里面的建表语句在你的数据库里执行,当然你也可以自建一个新数据库,一切由你之后加载mysql模块,当然你一定要确认ommysql.so在lib文件夹里存在,如果你之前使用./configure --enable-mysql进行配置则会在/usr/local/lib/rsyslog下存在ommysql.so文件(操作系统不同,目录可能不一样),然后在rsyslog.conf文件中加上:$ModLoad ommysqllocal4.* :ommysql:127.0.0.1,yourdb,yourname,yourpass;注意我是local4来接受远程的syslog在交换机上的配置:华为的:info-center loghost 1.1.1.1 facility local4 //local4要和rsyslog.conf 里配置的一致,1.1.1.1为你的syslog服务器地址记得要改啊info-center loghost source Vlan-interface 11//你的网管VLAN 接口,要改的info-center source SHELL channel loghost log level notifications//我只想要操作日志,其他的不关心,如果你想要更多,请更改思科的:logging 1.1.1.1(配置 syslog服务器地址,可以定义多个)service timestamps debug datetime localtime show-timezone msecservice timestamps log datetime localtime show-timezone msec (syslog 信息包含时间戳)logging facility local4 (定义 facility 级别,缺省为local7,可以设置从 local0 到 local7)logging trap warning (定义severity 级别缺省为 infor 级别)到这里,一切基本ok了,到你的mysql服务器是看看:select * from SystemEvents应该已经记录有日志了但这里还有个小bug,我们会发现fromhost的这个字段不对,并不是你的交换机的地址,这是rsyslog的一个bug,怎么解决??请参考:,而我的解决方案是自定义模板,而不能用其默认的模板了!我定义了一个模板:MySQLInsert并用它来执行sql语句,关于模板的概念,请参考doc-rsyslog_conf.html这里有详细的解释参考我的rsyslog.conf:# UDP Syslog Server:$ModLoad imudp.so # provides UDP syslog reception$UDPServerRun 514 # start a UDP syslog server at standard port 514# MySQL log$ModLoad ommysql$template MySQLInsert,"insert into SystemEvents( ReceivedAt,DeviceReportedTime,message,FromH ost,syslogtag) values('%timegenerated:::date-mysql%','%timereported:::date-mysql%','%msg%','%fromhost-ip%','%syslogtag%')", SQL local4.* :ommysql:127.0.0.1,syslogdatabase,sysloguserna me,syslogpass;MySQLInsert注意我使用了%fromhost-ip%,而不是%HOSTNAME%好了,基本上就这样了,以上就是我配置rsyslog的一些经过,希望对大家有帮助。

基于Syslog的网络日志管理平台

基于Syslog的网络日志管理平台作者:刘磊孙路强周利霞许贺来源:《电子技术与软件工程》2019年第05期摘要;;; 本文基于Syslog的网络日志管理平台对海量日志进行收集,并通过模式匹配的方法对日志进行了分析,形成了日志分析告警,有效对设备和服务运行状态进行监控,在实际应用中很好的解决了暴力破解发现,异常操作感知等问题。

【关键词】Syslog 模式匹配日志分析告警监控Syslog是一种工业标准的协议,用来记录设备的运行日志,在Linux系统、路由器、交换机等网络设备中日志记录了系统中发生的大小事件。

运维人员通过审计日志记录可以随时掌握系统和应用程序的状态。

目前存在RFC3164和RFC5424两个规范,文章主要应用RFC3164这个规范,其中描述了BSDSyslog协议,这个协议不是强制性的,很多设备并不完全遵守这个规范。

实际运维中发现不同设备日志格式是不同的,协议中定义的严重性并不能完全符合运维需要,这就需要根据系统特征定义符合实际应用的规则对日志进行处理。

1 RFC3164 Syslog协议RFC3164规范中Syslog日志信息发送使用UDP协议的514端口,信息长度不能大于1024字节,格式如图1所示由PRI、HEADER、MSG三部分组成,PRI由带尖括号的一个数字构成,这个数字包含了日志的程序模块(Facility)、严重性(Severity)信息,由Facility乘以8加上Severity得来。

Facility如表1所示,Severity如表2所示。

HEADER部分包括两个字段,Time和Name,Time紧跟在PRI后面中间没有空格,格式是“mm dd hh:mm:ss”,不包括年份。

“日”的数字如果是1~9,前面会补一个空格,“小时”、“分”、“秒”在前面补“0”。

HEADER部分后面跟一个空格,之后是MSG部分。

MSG部分有两个部分TAG和Content。

其中TAG部分是可选的,TAG后面用一个冒号隔开Content部分,这部分的内容是应用程序自定义的。

Linux系统日志管理工具介绍使用rsyslog和syslogng

Linux系统日志管理工具介绍使用rsyslog和syslogngLinux系统日志管理工具介绍使用rsyslog和syslog-ngLinux系统日志对于系统管理和故障排除非常重要。

为了帮助管理员更有效地管理系统日志,Linux提供了多个日志管理工具。

本文将介绍两个主要的Linux系统日志管理工具:rsyslog和syslog-ng。

一、rsyslogrsyslog是Linux上的默认系统日志守护进程。

它是标准syslog守护进程的升级版本,提供了更强大的功能和灵活性。

以下是rsyslog的一些主要特点:1. 高度可配置:rsyslog提供了丰富的配置选项,允许管理员灵活地定义日志记录规则和目标。

2. 支持统一的远程日志管理:rsyslog可以将日志发送到远程服务器,方便集中管理和分析。

3. 强大的过滤功能:rsyslog提供了强大的过滤功能,可以根据不同的条件过滤日志条目,以便更好地跟踪和分析特定事件。

4. 可靠性和高性能:rsyslog被广泛用于生产环境中,具有良好的稳定性和高性能。

二、syslog-ngsyslog-ng是另一个流行的Linux系统日志管理工具。

它是syslog的替代品,提供了更多的功能和配置选项。

以下是syslog-ng的一些主要特点:1. 灵活的日志收集和路由:syslog-ng允许管理员从多个源收集日志,并根据配置规则将日志路由到指定的目标。

2. 多种日志格式支持:syslog-ng支持多种常见的日志格式,例如JSON、CSV等,方便管理员的日志分析和处理。

3. 可扩展性:syslog-ng提供了插件机制,可以扩展其功能,例如添加新的日志源或目标。

4. 多平台支持:syslog-ng支持多个操作系统平台,包括Linux、Unix和Windows。

在实际使用中,rsyslog和syslog-ng都可以满足大多数日志管理需求。

管理员可以根据自己的具体情况选择合适的工具。

syslog搭建服务器登录日志系统


# x di; l  ̄ DXS sl l le
“ s s u d  ̄ f i 】 y lg ( f l… f、 l i It s (ai
SYSl ) J( JI ( NS 川 ( J I) i x 川 ¨川
地 策 d 修 略 中的 审核策 略 .如 下图所 示 :
根 据 系统 的版 本 下载 3 位 和 6 2 4位 的程
序。
解 压 后是 e £ y dJ 和 e t y . x vS s J v s s e e。
的使 用情 况
把这两个文件拷 贝到_ :wio sssm 2 _ \ n w \yt 3 c d e
目录 下 。
s so 服务器配置 y lg

【v r l f . ie / _ i( y1H p p _ 、 / )
/ a 1 / y1 i 是 一个 命 名管道 . vr 0 ss gp e /g o p 使 服 务 器接受 的信 息可 以传 给脚 本处 理 。
i 表示 安装 成 系统 服 务
h指 定 l 服 务器 的 I 址 o g P 地
首先 . 置 RdHt 自带 的 ss g 务 . 配 e a上 yl 服 o 使 它能够 记 录来 自其他 服 务器 的 I 信息 。 o g


;1 1 i 1 ¨1l v. 1 】
打 开 Wi o s n w 命令提 示 符 d
C. >e ty -i-h 1 2 6 1 \ vss 1 8 1 9

下 载地 址为 : t s / eg e r g p r e ht : / n i ei u u p n n d
e u E N R s uc s D c met/ NX e ty/ d / C / eore/ o u ns U I/ vs s

用Syslog记录各种OS平台日志的方法

用Syslog记录各种OS平台日志的方法用 Syslog 记录各种 OS 平台日志的方法在比较大规模的网络应用或者对安全有一定要求的应用中,通常需要对系统的日志进行记录分类并审核,默认情况下,每个系统会在本地硬盘上记录自己的日志,这样虽然也能有日志记录,但是有很多缺点:首先是管理不便,当服务器数量比较多的时候,登陆每台服务器去管理分析日志会十分不便,其次是安全问题,一旦有入侵者登陆系统,他可以轻松的删除所有日志,系统安全分析人员不能得到任何入侵信息。

因此,在网络中安排一台专用的日志服务器来记录系统日志是一个比较理想的方案。

本文以FreeBSD 下的syslog 为例,介绍如何利用 freebsd 的 syslogd 来记录来自 UNIX 和 windows 的 log 信息。

一、记录UNIX 类主机的log 信息首先需要对Freebsd 的syslog 进行配置,使它允许接收来自其他服务器的log 信息。

在/etc/rc.conf 中加入:syslogd_flags="-4 -a 0/0:*"说明:freebsd 的syslogd 参数设置放在/etc/rc.conf 文件的syslogd_flags 变量中Freebsd 对syslogd 的默认设置参数是syslogd_flags="-s",(可以在/etc/defaults/rc.conf 中看到) 默认的参数-s 表示打开 UDP 端口监听,但是只监听本机的 UDP 端口,拒绝接收来自其他主机的 log 信息。

如果是两个 ss,即-ss,表示不打开任何 UDP 端口,只在本机用/dev/log 设备来记录 log. 修改后的参数说明: -4 只监听 IPv4 端口,如果你的网络是 IPv6 协议,可以换成-6 -a 0/0:* 接受来自所有网段所有端口发送过来的 log 信息。

如果只希望syslogd 接收来自某特定网段的log 信息可以这样写:-a 192.168.1.0/24:* -a 192.168.1.0/24:514 或者-a 192.168.1.0/24 表示仅接收来自该网段514 端口的log 信息,这也是freebsd 的syslogd 进程默认设置,也就是说 freebsd 在接收来自其他主机的 log 信息的时候会判断对方发送信息的端口,如果对方不是用 514 端口发送的信息,那么 freebsd 的 syslogd 会拒绝接收信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档