日志文件由系统日志和内核日志监控程序syslogd 与klogd 控制, 在/etc/syslog.conf 文件中配置这两个监控程序默认活动。

日志文件按/etc/syslog.conf 配置文件中的描述进行组织。下图是/etc/syslog.conf 文件的内容:

[root@localhost ~]# cat /etc/syslog.conf

# Log all kernel messages to the console.

# Logging much else clutters up the screen.

#kern.* /dev/console

# Log anything (except mail) of level info or higher.

# Don't log private authentication messages!

*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.

authpriv.* /var/log/secure

# Log all the mail messages in one place.

mail.* -/var/log/maillog

# Log cron stuff

cron.* /var/log/cron

# Everybody gets emergency messages

*.emerg *

# Save news errors of level crit and higher in a special file.

uucp,news.crit /var/log/spooler

# Save boot messages also to boot.log

local7.* /var/log/boot.log

syslog.conf

emerg  emergency , 紧急

alert     ,          警报

crit  critical , 关键

errerror ,          错误

warning              警告

notice               通知

info                信息

debug               调试

-------------------------------------------------------

简单列一下消息来源:

auth        认证系统,如login 或su ,即询问用户名和口令

cron        系统执行定时任务时发出的信息

daemon        某些系统的守护程序的 syslog ,如由in.ftpd 产生的log

kern        内核的信息

lpr       打印机的信息

mail        处理邮件的守护进程发出的信息

mark        定时发送消息的时标程序

news        新闻组的守护进程的信息

user        本地用户的应用程序的信息

uucp        uucp 子系统的信息

local0~local7   系统预留

*          表示所有可能的信息来源

----------------------------------------------------------

处理方案

" 处理方案" 选项可以对日志进行处理。可以把它存入硬盘,转发到另一台机器或显示在管理员的终端上。

处理方案一览:

文件名  写入某个文件,要注意绝对路径。

@ 主机名 转发给另外一台主机的syslogd 程序。

@IP 地址 同上,只是用IP 地址标识而已。

/dev/console 发送到本地机器屏幕上。

* 发送到所有用户的终端上。

| 程序 通过管道转发给某个程序。

例如:

kern.emerg /dev/console( 一旦发生内核的紧急状况,立刻把信息显示在控制台上)

说明:

如 果想修改syslogd 的记录文件,首先你必须杀掉syslogd 进程,在修改完毕后再启动syslogd 。***者进入系统后通常立刻修改系统日志,因 此作为网管你应该用一台机器专门处理日志信息,其他机器的日志自动转发到它上面,这样日志信息一旦产生就立刻被转移,这样就可以正确记录***者的行为。

将日志文件记录到远程主机 。

说到这远程主机就是我们本文要配置的syslog 服务器。

----------------------------------------------------------------

2.syslog 服务器配置实践步骤

例如: 10.0.0.1 为syslog 服务器     10.0.0.2 为客户机

步骤: 1. 服务端配置

vi /etc/sysconfig/syslog   

   sysLOGD_OPTIONS = “-r –m 0” ## -r 意思是接受远程的日志

重起syslog 服务 /etc/rc.d/init.d/syslog restart

2. 客户端配置

   vi /etc/syslog.conf

   在消息去向处添加 @10.0.0.1

例如:*.info;mail.none;authpriv.none;cron.none @10.0.0.1

   存盘退出重起服务

   /etc/rc.d/init.d/syslog restart

( 知识点:直接查看日志尾部: tail /var/log/messages 或者tail /var/log/boot 这样就可以看到syslog 重起)

--------------------------------------------------------------------

注意:日志服务使用的端口是:514/udp syslog 服务器应该打开这个端口

syslog 日志服务器端不能根据源地址过滤,为了防止外网向日志服务器写垃圾信息要在网络拓扑中解决,网关上做限制外网访问514 端口。

如果服务器比较多的话,这样形成的日志比较大,要做好日志的分析

------------------------------自己补充内容----------------------------

日志自动压缩回滚:

在freebsd的newsyslog.conf加入

日志文件    640   3     *     @T00   JC     进程路径

在linux中编辑

 

/etc/logrotate.d/slockd,内容为:

/var/log/slockd.log {

   daily

   notifempty

   missingok

   rotate 5

   compress

   create 644 root root

   sharedscripts

}

行的基本语法是:

[ 消息类型]     [ 处理方案]

注意:中间的分隔符必须是Tab 字符!

消息类型是由" 消息来源" 和" 紧急程度" 构成,中间用点号连接。例如上图中,news.crit 表示来自news 的“ 关键” 状况。在这里,news 是消息来源,crit 代表关键状况。通配符* 可以代表一切消息来源。

说明:

第一条语句*.info ,将info 级以上(notice,warning,err,crit,alert 与emerg )的所有消息发送到相应日志文件。

日志文件类别(按重要程度分类)日志文件可以分成八大类,下面按重要性从大到下列出: