linux 远程日志的配置 syslog.conf配置

日志文件由系统日志和内核日志监控程序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 端口。
如果服务器比较多的话,这样形成的日志比较大,要做好日志的分析

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

日志自动压缩回滚:

freebsdnewsyslog.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 )的所有消息发送到相应日志文件。