Linux服务器syslog配置
syslog日志服务器配置步骤
4操作动作
日志信息可以分别记录到多个文件里,还可以发送到命名管道、其他程序甚至另一台机
器。syslog配置文件并不复杂,既容易阅读又容易操作使用。这个文件里的注释都非常有用,
应该好好读读它们。
建立一个中央日志服务器
个旧的key定义,等同于auth,已经不再建议使用。
2优先级
优先级是选择条件的第二个字段,它代表消息的紧急程度。对一个应用程序来说,它发
出的哪些消息属于哪一种优先级是由当初编写它的程序员决定的,应用程序的使用者只能接
受这样的安排一一除非打算重新编译系统应用程序。表2按严重程度由低到高的顺序列出了
所有可能的优先级。
3.生成消息的子系统的名字。 可以是”kernel
表示发出消息的程序的名字。在方括号里的是进程的
4.消息(message),剩下的部分就是消息的内容。
syslog配置文件
syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文 件。syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放 地点。现在,我们先看看syslog.conf文件的配置行格式(这个文件里的每一个配置行都是 同样的格式),然后再看一个完整的syslog配置文件。syslog配置行的格式如下所示:
mail.*/var/log/mail这一行由两个部分组成。第一个部分是一个或多个 设备后面跟一些空格字符,然后是一个“操作动作”
1设备 设备本身分为两个字段,之间用一个小数点( 段是一个优先级。 设备其实是对消息类型的一种分类, 发送到不同的地方。在同一个 的syslog配置文件示例里看到同时有多个设备的配置行。 下面列出了绝大多数Linux操作系 统变体都可以识别的设备。
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存储到Linux Syslog服务器防火墙日志作为重要的安全审计、安全分析资料,需要保存一段时间,而防火墙本身保存日志的容量有限,可以把防火墙记录的日志存储到用Linux平台做的日志服务器,以Netscreen为例介绍怎样配置Syslog.配置Netscreen的Syslog存储到Linux Syslog服务器将ISG 防火墙(X.X.X.X)的Syslog信息存储到Syslog服务器上(Y.Y.Y.Y),便于跟踪防火墙状态和日志检查。
一、配置Syslogd更改/etc/syslog.conf配置文件,增加以下部分:# Save Debug Message of Netscreen(Y.Y.Y.Y) to netscreen.logLocal7.* /home/log/netscreen.log将local7设备的信息存储在指定的/home/log/netscreen.log里面,通过这条配置可以将不同设备的log信息存储在不同的文件中,便于查看。
二、配置logrotateLinux中的logrotate程序用于对日志文件的轮询,可以通过限定文件的大小、时间等配置,保存多个日志文件。
更改/etc/logratate.conf文件,增加以下部分:/home/log/netscreen.log {monthlyrotate 12}将syslog中存储的文件/home/log/netscreen.log,按每月的方式保存,共保存12个文件,也就是第一个月保存为netscreen.log,到了下个月将把这个月的文件名换成为netscreen.log.1,依此类推。
三、重新启动syslogdservice syslog restart四、Netscreen 配置:>查看log的等级get event level可以看到当前的netscreen 事件等级,如:alert level 1: immediate action is requiredcritical level 2: functionality is affecteddebug level 7: detailed information for troubleshootingemergency level 0: system is unusableerror level 3: error conditioninformation level 6: general information about operationnotification level 5: normal eventswarning level 4: functionality may be affected选择你需要等级即可,这里我们选择Debug信息。
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-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。
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服务器的设置
Syslog服务器的设置
首先在一个PC上安装syslog软件。
目前syslog软件可以运行在Windows、Linux和Unix 上,请随便做一个syslog服务器。
我们推荐一个运行在Windows平台上的syslog服务器软件,kiwi-syslog。
请到下面的站点下载:
然后在防火墙上作如下设置:
Kiwi_SysLog服务器日志设置
使用Kiwi_SysLog软件可以把日志进行分类存储,如按照日志的时间进行存储。
具体的设置方法如下:
日期:yyyy-mm-dd 时间:hour
具体的设置请看“Insert AutoSplit value”
●如上图的设置,日志的记录将会是这样的:
其中D:\Logs\2004-03-14\表示每天的日志,在每天的日志中,LOG_15表示下午三点的记录,LOG_16表示下午四点的记录,依此类推。
这样就可以分别记录。
●如果要对日志进行查询、排序等工作,需要用到微软的Access数据库进行处理。
具体的操作是“文件”→“新建”→“空数据库”→“文件”→“获取外部数据”→“导入”→然后选择日志文件→选择“带分隔符”→选择“分号”→“完成”。
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服务器流程
1.安装系统a)安装要求i.PC配置:CPU:Intel P E2160(1.8GHz)以上内存:1G以上硬盘:80G以上虚拟机要求:Kernel:linux 2.6内存:512以上硬盘:40G以上b)安装系统i.Linux syslog server要求用centos 5.5下载地址:ed2k://|file|[《CentOS.5.5.》32bit[光盘镜像]].CentOS-5.5-i386-bin-DVD.iso|4185118720|a1ce64b6d36d945f562cb1250d8d665f|h=fnfai2pqdbdxmz5i5wshkaj22ttscbkg|/c)配置网络i.点击桌面上方的系统→管理→网络,配置eth0和DNSwork Abapter修改为桥接模式2.安装工具a)安装GCC和make[root@FDWIN ~]# yum install gcc makeb)安装LAMP平台[root@FDWIN ~]# yum install php-mysql mysql mysql-server php-snmp php-pdoperl-DBDMySQL httpd php –y[root@FDWIN ~]# service mysqld start[root@FDWIN ~]# chkconfig mysqld on[root@FDWIN ~]#service httpd start[root@FDWIN ~]#chkconfig httpd on[root@FDWIN ~]# mysqladmin -uroot password '000000'[root@FDWIN ~]#vim /var/www/html/index.php添加:<?php$link=mysql_connect("localhost","root","000000");if(!$link) echo "FAILD!";else echo "OK!";?>然后网页访问下出现OK说明没问题了。
linuxsyslog用法
linuxsyslog⽤法Linux下C语⾔编程的-把程序输出信息加到系统⽇志⾥去关键词: Linux 系统⽇志 syslog 服务程序 syslogd我们的程序⼀般都会产⽣输出信息。
但是服务器程序⼀般却不希望输出信息到屏幕上,因为没有⼈盯着你的程序执⾏。
所以我们要把⼀些信息写成⽇志⽂件,正常情况下运⾏程序的⼈不⽤关⼼⽇志⾥的内容,只有在出现问题的时候才会查看⽇志⽂件⾥的内容以确定问题所在。
但如果我们的程序要⾃⼰⽣成⼀个⽂件来保存⽇志却不是好主意,因为这⼀⽅⾯增加了维护程序运⾏的⼈的负担,另⼀⽅⾯⾃⼰维护起系统来也多有不便。
在Linux系统中有⼀个系统⽇志,通常放在/var/log⽬录下,⽐如⽂件名是syslog的,系统中的⼀些程序产⽣的⽇志信息都会存放到这个⽂件⾥。
⽇志⽂件有固定的格式,⽐如第1列是消息产⽣的时间,第2列是机器名(因为⽇志记录程序⽀持远程连接),第3列是标记信息(⼀般就是程序名称)等。
⽽且对应的有⼀些⼯具来对这个⽇志进⾏维护,⽐如通过轮回机制保证⽇志⽂件⼤⼩不会把磁盘空间占尽。
所以我们把⾃⼰程序的信息也写到这个系统⽇志⾥是⽐较好的想法。
在GNU C语⾔库提供的内容中,有接⼝可以⽤来做这件事。
⽤下⾯的命令查看:nm -D /lib/libc.so.6 | grep log可以看到⼀些调⽤:000b9410 T closelog0008b870 T getlogin0008b960 T getlogin_r000d0180 T __getlogin_r_chk000bd190 T klogctl00027450 T __open_catalog000b9380 T openlog0008bae0 T setlogin000b8b80 T setlogmask000b9350 T syslog000b9320 T __syslog_chk000b92f0 T vsyslog000b8da0 T __vsyslog_chk这⾥⾯的三个函数openlog, syslog, closelog是⼀套系统⽇志写⼊接⼝。
