syslog 服务:
syslogd:系统日志服务,非内核产生的信息
klogd:内核日志服务,专门负责记录内核产生的日志信息
service syslog restart 重启日志服务
service syslog reload 不重启日志服务使得日志服务配置文件立即生效
配置文件:/etc/syslog.conf
配置文件格式:facility.priority action #facility谁产生的日志,priority所产生的那 种 级别的日志,action 对这些日志进行的操作(例如保存到那个路径文档中)
facility,可以理解为日志的来源或设备目前常用的facility有以下几种:
auth #认证相关的
authpriv #权限,授权相关的
cron #任务计划相关的
daemon #守护进程相关的
kern #内核相关的
lpr #打印相关的
mail #邮件相关的
mark #标记相关的
news #新闻相关的
security #安全相关的,与auth类似
syslog #syslog系统日志自己的
user #用户相关的
uucp #unix to unix cp 相关的
local0到local7 #用户自定义使用
* #*表示所有的facility
priority(log level)日志的级别,一般有以下几种级别(从低到高)
debug #程序或系统的调试信息
info #一般信息
notice #不影响正常功能,需要注意的消息
warning/warn #可能影响系统功能,需要提醒用户的重要事件
err/error #错误信息
crit #比较严重的
alert #必须马上处理的
emerg/panic #会导致系统不可用的
* #表示所有的日志级别
none #跟*相反,表示撒也没有
action(动作)日志记录的位置
系统上的绝对路径 #普通文件 如:/var/log/xxx
| #管道 通过管道送给其他的命令处理
终端 #终端 如:/dev/console
@HOST #远程主机 如:@10.0.0.1
用户 #系统用户 如:root
* #登录到系统上的所有用户,一般emerg级别的日志是这样定义的
实例:
mail.info -/var/log/mail.log #表示将mail相关的,级别为info及info以上级别的信息记录
到/var/log/mail.log文件中-表示异步写入即先放置内存中之后再同步到硬盘中,没有-表示同步写入
auth.=info @10.0.0.1 #表示将auth相关的,级别为info的信息记录到10.0.0.1主机
上去,前提是10.0.0.1要能接收其他主机发来的日志信息
user.!=error #表示记录user相关的,不包括error级别的信息
user.!error #与user.error相反,即记录比error级别低的信息且不包括error
*.info #表示记录所有的日志信息的info级别
mail.* #表示记录mail相关的所有级别的日志信息
*.* #表示记录所有的日志所有级别的信息
cron.info;mail.info #表示记录cron和mail的info及以上级别的日志信息,
多个日志用“;”隔开
cron,mail.info #与cron.info;mail.info是同样的意思
mail.*;mail.!=info #记录mail相关的所有级别信息,但是不包括info级别
从系统开机到加载内核到物理终端开启过程中,所产生的日志信息都是属于内核日志
kernel --> 物理终端(console)--> /var/log/dmesg
这个过程产生的日志保存在 /var/log/dmesg
查看内核日志信息可以通过以下方式:
1、通过命令查看:dmesg
2、直接查看内核日志信息保存的文档:cat /var/log/dmesg
当系统执行了/sbin/init文件后就表示系统开始加载虚拟终端和伪终端,后期日志为系统日志。
/var/log/messages:系统标准错误日志信息,非内核产生引导信息,各子系统产生的系统
/var/log/maillog:邮件系统产生的日志信息;
/var/log/secure:记录登录系统的相关信息
[root@localhost ~]# tail /var/log/secure
Dec 19 07:35:47 localhost sshd[31767]: Accepted password for root from 10.109.134.247 port 59456 ssh2
Dec 19 07:35:47 localhost sshd[31767]: pam_unix(sshd:session): session opened for user root by (uid=0)
Dec 19 09:46:19 localhost sshd[4022]: pam_unix(sshd:session): session closed for user root
Dec 21 07:22:11 localhost sshd[12087]: Accepted password for root from 10.109.134.247 port 52122 ssh2
Dec 21 07:22:11 localhost sshd[12087]: pam_unix(sshd:session): session opened for user root by (uid=0)
实验目的(给精简linux增加日志服务)
前期准备:已经安装制作了一个精简的linux系统
在宿主虚拟机添加IDE硬盘,并分2个分区,并挂载:
mount /dev/hda1 /mnt/boot
mount /dev/hda2 /mnt/sysroot
[root@localhost ~]# cd /mnt/sysroot/
[root@localhost sysroot]# ls sbin/
acpid fbsplash hdparm klogd mkdosfs nameif syslogd depmod getty init man modinfo route switch_root devmem halt insmod mdev modprobe runlevel sysctl
[root@localhost sysroot]# vim etc/rc.d/rc.sysinit 添加两行内容
#!/bin/sh
#
.......
mount -a
swapon -a
echo "Start syslog..."
syslogd 新添加系统日志服务进程开机启动
klogd 新添加内核日志服务进程开机启动
[root@localhost sysroot]# vim etc/syslog.conf 新建日志服务配置文件
*.info /var/log/message #新增改行信息,所有设备和系统的info及其以上的信息都 同步记入到/var/log/message中,需确保/var/log目录存在。
[root@localhost sysroot]#
[root@localhost sysroot]# sync 同步写入到硬盘中
[root@localhost sysroot]# sync
[root@localhost sysroot]#
本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1885016 ,如需转载请自行联系原作者