Syslog配置及使用简介
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是指产⽣⽇志怎么办是保存在⽂件中还是其他。
Syslog 配置介绍
Syslog 简介Syslog是一个通过IP网络允许一台机器发送事件通知信息给事件收集者(Syslog服务器或者Syslog Daemon)的协议。
换言之,就是一台机器或者设备能够被配置,使之产生Syslog 信息并且发送到一台特定的Syslog服务器/Daemon。
Syslog信息建立在UDP之上,一般Syslog信息在UDP514端口上被收集,Syslog信息的长度不大于1024字节。
由于基于UDP协议,所以当如果因为网络拥塞等情况导致信息包丢失,那么信息将不再重发,而是简单的丢失掉。
Syslog协议是在Unix系统上被创建出来的。
使用Syslog,一个远程Unix主机能够很好的跟踪另一台Unix主机。
任何应用程序都能够产生Syslog信息。
格式Syslog包的格式:一个Syslog信息主要有三部分组成。
分别是PRI,HEADER,MSG。
日志信息格式如下:<优先级>时间戳主机名模块名/级别/信息摘要:内容<priority>timestamp sysname module/level/digest:content以上格式中的尖括号(< >)、空格、斜杠(/)、冒号(:)是有效的、必须的。
输出到日志主机的日志格式的例子如下:<189>Jun 7 05:22:03 2003 Quidway IFNET/6/UPDOWN:Line protocol on interface Ethernet0/0/0, changed state to UP以下对每一个字段做详细说明。
1.优先级是优先级的意思,它由两部分组成,共一个字节,前3位是严重度(Severity),后5位是表示Facility。
优先级的计算按如下公式:facility*8+severity-1。
a) 严重度b) Facility2。
Header包括两部分:1>时间戳,它是指信息生成的日期和时间。
linux下syslog使用说明
syslog系统日志应用1) 概述syslog是Linux系统默认的日志守护进程。
默认的syslog配置文件是/etc/syslog.conf文件。
程序,守护进程和内核提供了访问系统的日志信息。
因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。
几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。
意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。
通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。
/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。
2) etc/syslog.conf文件格式: facility.level actionfacility.level为选择条件本身分为两个字段,之间用一个小数点分隔。
action和facility.level之间使用TAB隔开。
前一字段是一项服务,后一字段是一个优先级。
选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。
在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。
action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。
要素分析:facility 指定 syslog 功能,主要包括以下这些:kern 内核信息,首先通过 klogd 传递;user 用户进程;mail 邮件;daemon 后台进程;authpriv 授权信息;syslog 系统日志;lpr 打印信息;news 新闻组信息;uucp 由uucp生成的信息cron 计划和任务信息。
syslog配置
local0----local7
本地用户信息
2、重要级:
重要级是选择条件的第二个字段,它代表消息的紧急程度。
按严重程度由低到高排序:
debug
不包含函数条件或问题的其他信息
info
提供信息的消息
none
没有重要级,通常用于排错
notice
具有重要性的普通条件
warning
预警信息
err
阻止工具或某些子系统部分功能实现的错误条件
crit
阻止某些工具或子系统功能实现的错误条件
alert
需要立即被修改的条件
emerg
该系统不可用
不同的服务类型有不同的优先级,数值较大的优先级涵盖数值较小的优先级。如果某个选择条件只给出了一个优先级而没有使用任何优先级限定符,对应于这个优先级的消息以及所有更紧急的消息类型都将包括在内。比如说,如果某个选择条件里的优先级是“warning”,它实际上将把“warning”、 “err”、“crit”、“alert”和“emerg”都包括在内。
配置文件中每行表示一个项目,格式为:facility.level action
由两个部分组成:
第一部分:选择条件(可以有一个或者多个条件),分为两个字段。
第二部分:操作动作;
1、选择条件
选择条件本身分为两个字段,之间用一个小数点(.)分隔。前一字段是一项服务,后一字段是一个优先级。选择条件是对消息类型的一种分类,这种分类便于 人们把不同类型的消息发送到不同的地方。在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)隔开。
3、操作动作
华为交换机的syslog功能
华为交换机的syslog功能1.1 日志功能1.SYSLOG介绍日志系统是以太网交换机中不可或缺的一部分,它是系统软件模块的信息枢纽。
日志系统管理大多数的信息输出,并且能够进行细致的分类,从而能够有效地进行信息筛选。
通过与debugging程序的结合,日志系统为网络管理员和开发人员监控网络运行情况和诊断网络故障提供了强有力的支持。
以太网交换机的日志系统具有以下一些特性:支持控制台( Console )、监视终端( monitor )——Telnet终端、日志缓冲区(logbuf )、日志主机(loghost )、告警缓冲区(trapbuf)、SNMP六个方向的日志输出。
日志信息按重要性划分为八种等级,可按等级进行信息过滤。
信息按来源模块进行划分,可按模块进行信息过滤。
信息在输出时可以进行中英文选择。
2. SYSLOG配置SYSLOG配置的配置任务如下:开启或关闭日志功能设置日志信息的输出方向定义日志信息的过滤规则配置日志主机在以上的配置中,配置日志主机不是在交换机上进行的配置。
必须先开启日志功能,其余的配置才能生效。
(1)开启或关闭日志功能可以使用下面的命令来开启或关闭日志功能。
请在系统视图下进行下列操作。
表1-1 开启或关闭日志功能操作命令开启日志系统 info-center enable关闭日志系统 undo info-center enable说明:syslog缺省情况下处于开启状态。
syslog开启时,由于信息分类、输出的原因,在处理信息较多时,对系统性能有一定的影响。
(2)配置日志信息的输出方向目前,以太网交换机的日志系统,可以在六个方向输出各种日志信息。
每个输出方向通过配置命令指定所需要的通道。
所有信息经过指定通道过滤,之后发送到相应的输出方向。
用户可根据需要,配置输出方向所使用的通道以及配置通道的过滤信息,完成各类信息的过滤以及重定向。
可以使用下面的命令来配置日志信息的输出方向请在系统视图下进行下列配置。
syslog日志的结构
syslog日志的结构一、引言syslog是一种用于记录系统事件和错误的标准协议,它能够帮助管理员监控和分析系统运行情况。
syslog日志的结构是指该日志的格式和组成部分,了解这些结构对于理解日志内容和进行故障排查非常重要。
二、syslog日志的基本结构syslog日志通常由三个部分组成:优先级、时间戳和消息。
下面将详细介绍每个部分的含义和用途。
1. 优先级:syslog日志根据事件的严重程度划分了8个优先级,从0(紧急)到7(调试)。
优先级用于帮助管理员快速识别和处理重要事件。
在日志中,优先级一般由一个数字和一个关键字组成,例如"5: notice"表示事件的优先级为5,属于一般通知。
2. 时间戳:时间戳记录了事件发生的具体时间。
它的格式通常为年-月-日时:分:秒(例如2021-01-01 10:30:00),有时还会包含毫秒级的精确时间。
时间戳对于排查问题的时间顺序和时效性非常重要。
3. 消息:消息部分是syslog日志最关键的部分,它记录了事件的详细信息。
消息可以包含各种各样的内容,例如错误消息、警告、通知、调试信息等等。
消息的内容和格式由具体的应用程序或设备决定。
三、syslog日志的扩展结构syslog日志的基本结构只包含了优先级、时间戳和消息三个部分,但实际应用中往往会对日志进行扩展,以满足更复杂的监控和分析需求。
下面介绍两种常见的扩展结构。
1. 主机名和进程标识:有些syslog日志会在消息部分前面加上主机名和进程标识,以标识事件发生的主机和进程。
主机名和进程标识可以帮助管理员快速定位事件来源,提高故障排查的效率。
2. 设备标识和设备类型:在网络设备和服务器中,日志通常会包含设备标识和设备类型。
设备标识用于唯一标识一个设备,而设备类型则用于区分不同类型的设备。
这些信息对于监控和管理大规模网络非常重要。
四、syslog日志的应用场景syslog日志广泛应用于各种系统和设备中,下面列举几个常见的应用场景。
windows 2012 配置syslog日志转发 概述及解释说明
windows 2012 配置syslog日志转发概述及解释说明1. 引言1.1 概述本文旨在探讨Windows Server 2012中配置syslog日志转发的方法。
随着信息技术的迅速发展,企业对于日志管理和安全审计的需求也越来越重要。
而syslog作为一种标准化的日志传送协议,可以将系统和应用程序生成的日志事件转发到集中式服务器进行集中管理和分析。
本文将介绍如何在Windows Server 2012上配置syslog日志转发,以满足企业对于日志集中管理的需求。
1.2 文章结构本文将按以下结构组织内容:- 引言:介绍本文的目的和结构。
- 配置syslog日志转发的必要性及作用:论述为什么需要配置syslog日志转发以及它的作用与优势。
- Windows Server 2012中配置syslog日志转发的方法:详细介绍在Windows Server 2012上如何完成syslog日志转发的配置过程。
- 相关注意事项和常见问题解答:提供一些配置过程中需要注意的事项,并解答一些常见问题。
- 结论:总结全文内容,展望未来发展方向。
1.3 目的通过阅读本文,读者将了解到在Windows Server 2012中实现syslog日志转发所需的步骤和方法,并且理解syslog日志转发在企业中的重要性以及其带来的好处。
同时,本文还将帮助读者识别和解决在配置过程中可能遇到的一些常见问题,以确保配置顺利完成并保证日志的准确传递和管理。
以上是“1. 引言”部分内容,旨在引导读者进入本文主题,并提供对整篇文章涉及内容的概述。
2. 配置syslog日志转发的必要性及作用2.1 什么是syslog日志转发Syslog是一种标准的网络协议,用于收集、传输和存储各种设备和应用程序生成的系统日志信息。
而syslog日志转发则是指将这些系统日志从源设备或应用程序发送到目标服务器或存储位置的过程。
通过配置syslog日志转发,可以实现集中管理和分析各个设备和应用程序产生的日志数据。
syslog 配置
目录目录 (1)syslog 配置 (2)第一章类UNIX系统syslog配置 (2)一、syslog.conf文件配置说明 (2)二、Syslog 服务启停: (3)三、测试产生日志 (4)第二章Windows 平台syslog配置 (4)一、安装配置 (4)二、参数说明: (4)第三章网络设备syslog配置 (4)一、配置步骤 (4)二、检验结果 (5)syslog 配置第一章类UNIX系统syslog配置一、syslog.conf文件配置说明/etc/syslog.con f文件中的一项配置记录由“选项”(selector)和“动作”(action)两个部分组成,两者间用tab制表符进行分隔。
而“选项”又由一个或多个形如“类型.级别”格式的保留字段组合而成,各保留字段间用分号分隔。
保留字段中的“类型”代表信息产生的源头,可以是:kern 由kernel产生的信息;user 由用户进程产生的信息。
对那些由程序或不在此列出的工具产生的信息,其缺省类型都是“user”;mail 邮件系统产生的信息;daemon 系统守护进程的信息,如in.ftpd、telnetd;auth 由login, su, gett y等进行身份认证时产生的信息;s yslog 由s yslogd自己内部产生的信息;lpr 行打印spooling系统的信息;news USENET 网络新闻系统的信息;uucp UUCP系统信息;cron cron和at工具信息;local0-7 保留为local使用;mark syslogd内部产生的时间戳信息;* 除mark之外的所有其它类型(此符号不可用以代表所有级别)。
保留字段中的“级别”代表信息的重要性,可以是:emerg 紧急,处于Panic状态。
通常应广播到所有用户;alert 告警,当前状态必须立即进行纠正。
例如,系统数据库崩溃;crit 关键状态的警告。
例如,硬件故障;err 其它错误;warning 警告;notice 注意;非错误状态的报告,但应特别处理;info 通报信息;debug 调试程序时的信息;none 通常调试程序时用,指示带有none级别的类型产生的信息无需送出。
syslog使用方法
syslog使用方法一、什么是syslogsyslog是一种系统日志记录协议,用于在计算机网络上发送、接收和存储系统日志消息。
它可以帮助系统管理员监控和分析系统运行状态,诊断和解决问题,以及进行安全审计。
syslog可以用于各种操作系统和设备,如Unix、Linux、Windows、路由器、交换机等。
二、syslog的基本原理syslog的基本原理是通过网络传输日志消息。
它由三个主要组件组成:发送方(syslog client)、接收方(syslog server)和日志消息(syslog message)。
1. 发送方(syslog client):发送方负责收集系统日志消息并将其发送到接收方。
发送方可以是操作系统的日志服务,也可以是应用程序或设备的日志功能。
2. 接收方(syslog server):接收方是用于接收和存储日志消息的服务器。
它通常由系统管理员设置并运行在网络中的一台服务器上。
接收方可以收集来自多个发送方的日志消息,并对其进行存储、过滤和分析。
3. 日志消息(syslog message):日志消息是由发送方生成的系统日志。
它包含了记录的事件、时间戳、设备信息、日志级别等重要信息。
日志消息可以根据不同的设备和应用程序进行格式化。
三、syslog的配置和使用步骤1. 配置发送方(syslog client):- 在发送方上找到并编辑syslog配置文件,通常是/etc/syslog.conf或/etc/rsyslog.conf。
- 添加或修改配置项以指定syslog服务器的IP地址和端口号。
例如:*.* @192.168.1.100:514。
- 保存配置文件并重启syslog服务,使配置生效。
2. 配置接收方(syslog server):- 在接收方上安装syslog服务器软件,如rsyslog、syslog-ng 等。
- 打开syslog服务器的配置文件,通常是/etc/syslog.conf或/etc/rsyslog.conf。
syslog配置方法
1、编辑syslog配置文件,将相关日志告警级别设置及目标主机添加至配置文件。
2、保存、退出后重新启动syslog服务:
stopsrc -s syslogd
startsrc -s syslogd
实现脚本如下:
printf "### Following lines added by CISecurity \AIX syslog.conf\n\
log { source(src); destination(d_udp); };
重新启动syslog-ng服务
#/etc/init.d/syslog-ng restart
实现脚本如下:
Syslog:
printf "### Following lines added by CISecurity \Linux syslog.conf\n\
*.info;mail.none\t\t@10.1.1.70
*.emerg;*.alert;*.crit;*.err;*.warning;*.notice;*.info;*.debug;mail.none\t\t@10.1.1.70\n" >> /etc/syslog.conf
stopsrc -s syslogd
打开Windows命令提示符(开始->运行 输入CMD)
C:\>evtsys –i –h 10.1.1.70
#(日志服务器的IP地址)
-i 表示安装成系统服务
-h 指定log服务器的IP地址
如果要卸载evtsys,则:
net stop evtsys
evtsys -u
启动该服务:
syslog详解及配置远程发送日志和远程日志分类
syslog详解及配置远程发送⽇志和远程⽇志分类syslog详解及配置远程发送⽇志和远程⽇志分类1、⽇志协议syslog# 1.1、syslog简介 完善的⽇志分析系统应该能够通过多种协议(包括syslog等)进⾏⽇志采集并对⽇志分析,因此⽇志分析系统⾸先需要实现对多种⽇志协议的解析。
其次,需要对收集到的海量⽇志信息进⾏分析,再利⽤数据挖掘技术,发现隐藏再⽇志⾥⾯的安全问题。
Syslog再UNIX系统中应⽤⾮常⼴泛,它是⼀种标准协议,负责记录系统事件的⼀个后台程序,记录内容包括核⼼、系统程序的运⾏情况及所发⽣的事件。
Syslog协议使⽤UDP作为传输协议,通过514端⼝通信,Syslog使⽤syslogd后台进程,syslogd启动时读取配置⽂件/etc/syslog.conf,它将⽹络设备的⽇志发送到安装了syslog软件系统的⽇志服务器,Syslog⽇志服务器⾃动接收⽇志数据并写到指定的⽇志⽂件中。
# 1.2、syslog⽇志格式syslog标准协议如下图: Syslog消息并没有对最⼩长度有所定义,但报⽂的总长度必须在1024字节之内。
其中PRI部分必须有3个字符,以‘<’为起始符,然后紧跟⼀个数字,最后以‘>’结尾。
在括号内的数字被称为Priority(优先级),priority值由Facility和severity两个值计算得出,这两个值的级别和含义见表1-1和表1-2。
下⾯是⼀个例⼦:<30>Oct 1020:30:10 fedora auditd [1780]: The audit daemon is exiting▶“<30>”是PRI部分,即Priority(优先级),取值范围0~191。
▶“Oct 10 20:30:10 fedora”是HEADER(报头部分)。
▶“auditd [1780]: The audit daemon is exiting”是MSG(信息)部分。
linux下syslog使用说明
linux下syslog使用说明2012-09-26 15:43:36分类:LINUXsyslog 系统日志应用1) 概述syslog是Linux系统默认的日志守护进程。
默认的syslog配置文件是/etc/syslog.conf文件。
程序,守护进程和内核提供了访问系统的日志信息。
因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。
几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。
意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。
通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。
/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。
2) etc/syslog.conf/etc/syslog.conf 文件使用下面的格式:facility.level actionfacility.level为选择条件本身分为两个字段,之间用一个小数点(.)分隔。
action和facility.level之间使用TAB隔开。
前一字段是一项服务,后一字段是一个优先级。
选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。
在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。
action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。
要素分析:facility 指定 syslog 功能,主要包括以下这些:kern 内核信息,首先通过 klogd 传递;user 用户进程;mail 邮件;daemon 后台进程;authpriv 授权信息;syslog 系统日志;lpr 打印信息;news 新闻组信息;uucp 由uucp生成的信息cron 计划和任务信息。
linuxsyslog详解
linuxsyslog详解分三部分⼀、syslog协议介绍⼆、syslog函数三、linux syslog配置⼀、syslog协议介绍1、介绍在Unix类操作系统上,syslog⼴泛应⽤于系统⽇志。
syslog⽇志消息既可以记录在本地⽂件中,也可以通过⽹络发送到接收syslog的服务器。
接收syslog的服务器可以对多个设备的syslog消息进⾏统⼀的存储,或者解析其中的内容做相应的处理。
常见的应⽤场景是⽹络管理⼯具、安全管理系统、⽇志审计系统。
完整的syslog⽇志中包含产⽣⽇志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正⽂。
在Unix类操作系统上,能够按Facility和Severity的组合来决定什么样的⽇志消息是否需要记录,记录到什么地⽅,是否需要发送到⼀个接收syslog的服务器等。
由于syslog简单⽽灵活的特性,syslog不再仅限于 Unix类主机的⽇志记录,任何需要记录和发送⽇志的场景,都可能会使⽤syslog。
长期以来,没有⼀个标准来规范syslog的格式,导致syslog的格式是⾮常随意的。
最坏的情况下,根本就没有任何格式,导致程序不能对syslog 消息进⾏解析,只能将它看作是⼀个字符串。
在2001年定义的RFC3164中,描述了BSD syslog协议:不过这个规范的很多内容都不是强制性的,常常是“建议”或者“约定”,也由于这个规范出的⽐较晚,很多设备并不遵守或不完全遵守这个规范。
接下来就介绍⼀下这个规范。
约定发送syslog的设备为Device,转发syslog的设备为Relay,接收syslog的设备为Collector。
Relay本⾝也可以发送⾃⾝的syslog给Collector,这个时候它表现为⼀个Device。
Relay也可以只转发部分接收到的syslog消息,这个时候它同时表现为Relay和Collector。
Syslog配置及使用简介
Syslog配置及使用简介目录Syslog配置及使用简介 (1)1.Syslog简介 (2)2.Syslog协议 (2)2.1. syslog体系结构 (2)2.2. syslog包格式 (2)3.Syslog配置 (3)3.1 概览 (4)3.2选择符 (4)3.3 动作 (4)4.C语言中的syslog (5)4.1 openlog (5)4.2 syslog (5)4.3 closelog (6)4.4 setlogmask (6)4.5例子 (6)5.参考文献 (7)1.Syslog简介Syslog常被称作系统日志,在80年代作为sendmail的一部分而发布,由于其可用性,现在已成为用来在internet中传递日志信息的事实上的标准。
这些传递日志的程序或数据库同时也被称作syslog。
Syslog是主从式的协议,syslog发送端发送一些小的文字信息到syslog 接收端,接收端根据配置文件把收到的信息进行存储或者处理,或者再次进行转发。
Syslog通常被用作系统信息管理,由于其已在大多数系统上实现,所以它可以把不同类型主机上的信息集中整合到一起。
但是它仍然有许多缺陷,表现在下面几个方面:Syslog 的传输是通过UDP或者TCP传输,安全性并不可靠。
一般可以通过ssl加密壳来完成加密;syslog的实时性不好,只能通过更改配置加以改进。
所以syslog主要用在安全性要求不高,实时性不强的地方。
2.Syslog协议syslog使用UDP协议作为它的传输层协议,其默认使用UDP端口514。
2.1. syslog体系结构syslog模糊了发送方、接收方,设备、中继以及收集器的区别,一台设备可以同时是某种日志信息的中继、也可以是另外某种信息的收集器,同时可以作为发送者发送日志:●发送方发送日志信息至某个主机,并不知道这台主机会如何处理这些日志。
●发送方可以通过配置,把同一条日志同时发送给多个接收者。
syslog与syslog服务器的配置
syslog与syslog服务器的配置服务器socketunix终端cronlinux1. 前言syslog是UNIX系统中提供的一种日志记录方法(RFC3164),syslog本身是一个服务器,程序中凡是使用syslog记录的信息都会发送到该服务器,服务器根据配置决定此信息是否记录,是记录到磁盘文件还是其他地方,这样使系统内所有应用程序都能以统一的方式记录日志,为系统日志的统一审计提供了方便。
2. 日志格式syslog记录的日志格式为:月日时:分:秒主机名标志日志内容3. syslog编程为记录日志,通常用到3个函数,openlog(3),syslog(3)和closelog(3),openlog(3)和closelog(3)不是必须的,没有openlog(3)的话将用系统缺省的方式记录日志。
#include <syslog.h>void openlog( char *ident, int option, int facility)void syslog( int priority, char *format, ...)void closelog( void )openlog(3)有三个参数,第一个参数是标志字符串,也就是日志中的第5个字段,不设的话缺省取程序名称;第二个参数是选项,是下面一些标志位的组合:LOG_CONS:日志信息在写给日志服务器的同时打印到终端LOG_NDELAY:立即记录日志LOG_PERROR:把日志信息也输出到标准错误流LOG_PID:在标志字段中记录进程的PID值第三个参数是说明日志类型的,定义了以下类型:syslog(3)函数主要的是第一个参数priority,后面那些参数就是和printf(3)函数用法一样了,priority值表示该条日志的级别,日志级别分8级,由高到低的顺序为:如果openlog(3)时没有指定facility,是可以把facility的值或到priority中的,如(LOG_AUTH | LOG_INFO),已经设置了就可以不用或了。
windows下搭建syslog服务器及基本配置
windows下搭建syslog服务器及基本配置⼀、环境windows7 64位+ kiwi_syslog_server_9.5.0kiwi_syslog百度云下载地址:链接: https:///s/1EpPBNsL1RVXceHeQoce1Ag 提取码: 6j9w⼆、安装syslog服务器2.1 双击安装⽂件2.2 下⼀步到了如下,去掉勾选2.3 ⼀直下⼀步,知道结束2.4 关闭syslog后台服务2.5 打开keygen注册机⽂件2.6 将以下俩个⽂件覆盖掉C:\Program Files (x86)\Syslogd⾥2.7 打开syslog主程序,help–>enter license details2.8 选择⼿⼯激活(在安装⽬录中打开KiwiSyslogLicensor.exe⽂件)2.9 复制机器码2.10 打开keygen.exe,将机器码复制进去,⽤户名随机,点击generate,⽣成lic⽂件2.11 在2.9的截图⾥,点击Browser,选择2.10⽣成的license⽂件,即可激活成功三、常⽤配置3.1 测试syslog服务是否能接收正常,给⾃⼰发送⼀条⽇志信息3.2 syslog⽂件保存⽬录查看file–>setup–>点击log to file,右侧便是存放路径。
注意%DateISO显⽰当天⽇期;%IPAdd4显⽰来源3.3 开启⽇志⽂件循环功能,即可设定每隔多久或者⽂件达到多⼤就另起⼀个保存⽇志⽂件3.4 更改输⼊的字符编码为utf-8,防⽌有中⽂显⽰乱码3.5 软件内的窗⼝之显⽰⽇志,不保存。
3.6 开启定期保存⽇志⽂件,如每天5点将E:\Syslogd\Logs⽂件夹⾥的⽂件复制到E:\Syslogd\Dated Logs\当天⽇期\⽂件夹下,设置截图如下:。
Syslog介绍
Syslog介绍Kiwi Syslog Server⼊门⼀、安装⼯作模式:第⼀个是安装成服务,开机⽆需登录操作系统就可以⼯作。
第⼆个是安装成应⽤程序,需要⽤户登录操作系统后⼿动打开。
我们选第⼀个。
服务使⽤的账户:第⼀个是我们已经登录的⽤户。
第⼆个是添加⼀个新的。
我们选第⼀个。
安装Web Access:⼀个Web浏览的界⾯,可以选择安装或者不安装,不影响功能。
我们不安装。
我们安装的是试⽤版,试⽤版也不影响主要功能。
⼆、使⽤2.1 配置规则从File菜单->Setup⼦菜单打开配置窗⼝。
默认的Rules下⾯只有⼀个Default规则,规则名字“Default”是可以修改的。
规则有两个选项需要配置,Filters(过滤器)和Actions(动作)。
满⾜所有过滤(filter)条件的⽇志,要依次执⾏动作(Action)。
过滤是求交集,动作类似管道。
默认的Default规则过滤器列表是空的,那么它就接收所有的⽇志。
动作有两个,Display (显⽰)和Log To File(记录到⽂件)。
我们可以添加⾃⼰的规则,右键“Rules”,点击“Add Rule”,添加⼀个。
可以修改名称。
新建规则的Filters和Actions是空,即接收所有⽇志,不做任何动作,显然这样的规则没有意义。
我们可以添加多个规则,每个规则添加不同的过滤器,过滤不同的⽇志,再对这些⽇志进⾏不同动作。
后⾯我们介绍Fileter和Action就在这个新建的规则上⾯实验。
2.2 添加Filter(过滤器)右键New Rule下⾯的Filters,点击“Add filter”。
Filter的种类有很多种,这⾥介绍Message text(消息⽂本),其余可以参照⽂档⾃⼰尝试。
Message text:过滤指定的字符串。
Include下⾯的编辑框输⼊字符串“test”。
那么当⽇志中有”test”的就会执⾏对应的Actions。
2.3 添加Action(动作)右键Actions,点击“Add action”。
linux操作系统syslog操作说明
一、linux操作系统syslog配置说明:linux操作系统的syslog配置有三种syslog配置,分别是:syslog、rsyslog、syslog-ng1、Syslog举例1)寻找syslog.conf文件#find / -name syslog.conf注:syslog.conf文件通常是存储与根目录的etc下。
2)修改syslog.conf文件#vi /etc/syslog.conf说明:vi 后输入syslog.conf文件的绝对路径,如/etc/syslog.conf。
然后,按insert (i)后即可修改文件。
在该文件最后添加一条命令:*.* @ IPAddress说明:* @之间为<tab>键,切勿漏输;IPAddress是日志审计的IP 如@192.168.52.6这里的*.* 代表所有的日志,也可以定义如mail.* 或者*.info 等指定具体的日志进行发送。
最后,按ESC后输wq保存修改。
3)重启syslog服务#service syslog restart2、Rsyslog举例1)寻找rsyslog.conf文件#find / -name rsyslog.conf注:rsyslog.conf文件通常是存储与根目录的etc下。
2)修改rsyslog.conf文件#vi /etc/rsyslog.conf说明:vi 后输入rsyslog.conf文件的绝对路径,如/etc/rsyslog.conf。
然后,按insert(i)后即可修改文件。
在该文件最后添加一条命令:*.* @ IPAddress说明:* @之间为<tab>键,切勿漏输;IPAddress是日志审计的IP 如@192.168.52.6这里的*.* 代表所有的日志,也可以定义如mail.* 或者*.info 等指定具体的日志进行发送。
最后,按ESC后输wq保存修改。
3)重启syslog服务#service rsyslog restart3、Syslog-ng 举例1)寻找syslog-ng.conf文件#find / -name rsyslog.conf2)修改:/etc/syslog-ng/syslog-ng.conf配置文件,在该文件内容最后加入以下代码:destination d_syslog { udp("IPAddress" port(514)); };filter:filter f_soc { level(info..emerg) };log:log { source(s_sys); filter(f_soc); destination(d_syslog); };最后,按ESC后输wq保存修改。
syslog-ng配置说明
配置说明syslog-ng的主配置文件存放在:/etc/syslog-ng/syslog-ng.conf(可变动)1、架构syslog-ng的配置基于下面的架构:引用LOG STATEMENTS『SOURCES -FILTERS -DESTINATIONS』消息路径『消息源-过滤器-目的站』也就是说,通过定义多个消息源,把匹配上若干个过滤器的消息导向到指定的目的地,从而组成一个消息路径。
2、消息源SOURCES定义格式为:引用source <sourcename> { sourcedriverparams; sourcedriverparams; ... };含义:引用<sourcename>:一个消息源的标识sourcedriver:消息源驱动器,可以支持若干参数,并使用分号“;”隔离多个消息源驱动器消息源驱动器有:引用file (filename) :从指定的文件读取日志信息unix-dgram (filename) :打开指定的SOCK_DGRAM模式的unix套接字,接收日志消息unix-stream (filename) :打开指定的SOCK_STREAM模式的unix套接字,接收日志消息udp ( (ip),(port) ) :在指定的UDP端口接收日志消息tcp ( (ip),(port) ) :在指定的TCP端口接收日志消息sun-streams (filename) :在solaris系统中,打开一个(多个)指定的STREAM设备,从其中读取日志消息internal() :syslog-ng内部产生的消息pipe(filename),fifo(filename) :从指定的管道或者FIFO设备,读取日志信息例如:引用source s_sys {file ("/proc/kmsg" log_prefix("kernel: "));unix-stream ("/dev/log");internal();# udp(ip(0.0.0.0) port(514)); #如果取消注释,则可以从udp的514端口获取消息※linux使用/dev/log作为SOCK_STREAM unix的套接字,BSD使用/var/run/log;参数需要使用括号括住。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Syslog配置及使用简介目录Syslog配置及使用简介 (1)1.Syslog简介 (2)2.Syslog协议 (2)2.1. syslog体系结构 (2)2.2. syslog包格式 (2)3.Syslog配置 (3)3.1 概览 (4)3.2选择符 (4)3.3 动作 (4)4.C语言中的syslog (5)4.1 openlog (5)4.2 syslog (5)4.3 closelog (6)4.4 setlogmask (6)4.5例子 (6)5.参考文献 (7)1.Syslog简介Syslog常被称作系统日志,在80年代作为sendmail的一部分而发布,由于其可用性,现在已成为用来在internet中传递日志信息的事实上的标准。
这些传递日志的程序或数据库同时也被称作syslog。
Syslog是主从式的协议,syslog发送端发送一些小的文字信息到syslog 接收端,接收端根据配置文件把收到的信息进行存储或者处理,或者再次进行转发。
Syslog通常被用作系统信息管理,由于其已在大多数系统上实现,所以它可以把不同类型主机上的信息集中整合到一起。
但是它仍然有许多缺陷,表现在下面几个方面:Syslog 的传输是通过UDP或者TCP传输,安全性并不可靠。
一般可以通过ssl加密壳来完成加密;syslog的实时性不好,只能通过更改配置加以改进。
所以syslog主要用在安全性要求不高,实时性不强的地方。
2.Syslog协议syslog使用UDP协议作为它的传输层协议,其默认使用UDP端口514。
2.1. syslog体系结构syslog模糊了发送方、接收方,设备、中继以及收集器的区别,一台设备可以同时是某种日志信息的中继、也可以是另外某种信息的收集器,同时可以作为发送者发送日志:●发送方发送日志信息至某个主机,并不知道这台主机会如何处理这些日志。
●发送方可以通过配置,把同一条日志同时发送给多个接收者。
●中继可以发送所有或者部分信息给后序接收者,这种情况下它不完全是中继,也是一个收集信息者。
●中继可以产生自己的日志信息发送给后序接收者,这种情况下它也是一个产生信息的设备。
2.2. syslog包格式Syslog包分为3个部分,PRI, HEADER,以及MSG,总长度不能超过1024个字节。
2.2.1 PRIPRI是priority的缩写,它代表了facility以及severity,即代表消息来源以及消息的严重程度。
它必须是1、2或者3个十进制字符,用‘<’,‘>’括起后组成的串,它是由facility 以及severity构成,组成的方法是把facility的值乘以8,再加上severity的值。
如facility取值local4(20), severiry为warning(4),那么pri的值为<164>。
Facility的取值如下表所示:Numerical Code Facility0 kernel messages1 user-level messages2 mail system3 system daemons4 security/authorization messages5 messages generated internally by syslogd6 line printer subsystem7 network news subsystem8 UUCP subsystem9 clock daemon10 security/authorization messages11 FTP daemon12 NTP subsystem13 log audit14 log alert15 clock daemon (note 2)16 local use 0 (local0)17 local use 1 (local1)18 local use 2 (local2)19 local use 3 (local3)20 local use 4 (local4)21 local use 5 (local5)22 local use 6 (local6)23 local use 7 (local7)严重等级分为:Numerical Code Severity0 Emergency: system is unusable1 Alert: action must be taken immediately2 Critical: critical conditions3 Error: error conditions4 Warning: warning conditions5 Notice: normal but significant condition6 Informational: informational messages7 Debug: debug-level messages2.2.2 HEADER部分HEADER部分包含一个时间戳以及发送方的主机名或者ip地址,并且HEADER部分必须是一些可打印字符。
时间戳部分是格式为”Mmm dd hh:mm:ss”的本地时间,其中Mmm是3个字母的英文缩写,如果日期小于10,必须用空格代替缺少的一个数字。
主机名部分一半使用主机名,如果没有的话可以使用IPv4或者IPv6的地址。
需要注意的是主机名中不能包含任何空格。
时间戳和主机名后面都各自跟一个空格。
2.2.3 MSG部分消息体部分一般包含生成消息的进程信息(TAG field)以及消息正文(CONTENT field)。
TAG部分主要是包含生成消息的进程信息,不能超过32个字符。
消息体必须是一些可见字符,这部分就是消息的正文。
TAG与CONTENT之间的间隔用非字母表字母隔开,一般用”[“,”:”或者空格隔开。
3.Syslog配置3.1 概览Syslog的全局配置文件一般存储在/etc/目录下,名为syslog.conf,由它指定syslogd程序对日志信息的处理。
配置文件由一系列的规则组成,一般每行一个规则,也可以使用反斜杠“\”来续行。
配置文件中每个规则都是由两部分组成,分别叫做选择符以及其对应的动作。
选择符就是指上文介绍过的priority,包括facility以及severity,动作指匹配成功的话应执行的动作,如把日志写入管道,写入文件,或者再转发至另一台主机。
3.2选择符选择符包括两部分,facility以及severity,两部分以一个点号”.”分割。
这两个部分都大小写无关,并且可以使用上文中定义的数字来代替字符。
Facility部分可以使用下列关键字:auth, authpriv, cron, daemon, ftp, kern, lpr, mail, mark, news, security (same as auth), syslog, user, uucp and local0 到local7,或者使用其对应的数字。
Severity部分可以使用下列关键字:debug, info, notice, warning, warn (等同于warning), err, error(同err), crit, alert, emerg, panic (同emerg)。
最初的BSD syslogd程序中,程序会把等于或者高于指定severity等级的日志按照指定动作来执行,现在syslogd程序中还包括一些有用的扩展:●“*”号,可以代表任何facility或者severity,根据在”.”之前或之后判断。
●“,”号,可以分割facility,这样可以把几个facility可以合并。
但是severity不能这样合并。
●“;”号,可以指定多个选择符,后面跟一个动作。
处理得顺序是按照从前向后的顺序匹配选择符,并且后面的选择符可以覆盖前面的。
因此可以使用这种特性来排除一些特殊的等级。
●“=”号,可以加在severity前面,表示准备匹配。
●“!”号,表示忽略这种severity或者更高等级,也可以与”=”号一起用。
3.3 动作动作表示收到匹配的日志信息以后的处理动作,主要有写入文件,命名管道,终端,写入远程,提醒当前某些用户。
1.写入普通文件。
后面加入日志文件的绝对路径即可。
也可以添加“-”号来表示不立即写入。
如:*.=crit;kern.none /var/adm/critical2.命名管道。
通过加上”|”即可把日志写入命名管道。
如:mail,news.=info | /tmp/message.fifo3.终端。
只要动作中指定的文件是一个tty文件即可。
如:mail.=info /dev/tty124.远端机器。
添加”@”符号,加上远端主机名/ip地址即可。
syslog需要-h参数启动才会转发远端而来的消息。
如:kern.crit @finlandia5.用户。
直接在动作之中写入用户列表的名字即可。
以逗号分割各个用户。
如:*.alert root,joey6.所有已登陆用户。
在动作中直接“*”号,表示把信息直接显示到已登陆用户的终端上。
如:*.=emerg *4.C语言中的syslogGNU C库中包含了写syslog的一些库函数,使用这些函数可以方便的对syslog进行写操作。
Glibc中主要包含以下syslog相关函数:* openlog: 打开连接* syslog; vsyslog: 写syslog* closelog: 关闭连接* setlogmask: 置标志,可以实现忽略某些消息4.1 openlogopenlog函数在syslog.h中被声明,其原型如下:void openlog (const char *ident, int option, int facility);openlog不是必须被调用的,但是可以方便syslog的使用。
indent表示一串字符串,以后调用syslog写日志时这个字符串都会被自动添加到正文之前,一般用来表示当前程序的名字。
如果indent为NULL, 或者openlog没有被调用过,那么默认的名字是当前进程名。
option是一个位串,有以下掩码构成:LOG_PERROR:记录至syslog的同时写到标准错误输出。
默认不写入标准错误输出。
LOG_CONS:如果写入Syslog失败时写入控制台,默认不写入控制台。
LOG_PID:是否把进程ID也加入到信息中去。
LOG_NDELAY:打开的话,openlog会打开连接,否则syslog调用时才连接。
LOG_ODELAY:无意义,为兼容旧版本。
facility是此连接的默认的facility,参见上文facility相关内容。