Linux上的航海士——日志系统推荐

如果说茫茫的大海是通向未知世界的桥梁,那么我们这些航行在海上的游船就需要一个精通航海知识的航海长和书记员。通过航海长和书记员的通力合作,我们才能够在风波诡异的浩瀚大海中向前起航,才能够披荆斩棘、勇往直前。

那么我们Linux的系统自己拥有自己的航海长和书记员么?

有 ,而且我们的航海长和书记员非常认真和详细的记录着系统发生的点滴事件。

Syslog就是针对于我们linux系统自身的航海长,而且有进一步的升级版syslog-ng。

因为系统的各种信息的纷繁复杂,所以我们定义了信息的详细程度,根据信息的详细程度制定了日志的级别。

Syslog:日志系统

Syslogd用来记录系统非内核产生的记录信息

Klogd则用来记录内核产生的信息

这些由syslog产生的日志信息都存储在/var/log/目录下

当内核在运转探测信息时Klogd产生的日志记录在/var/log/dmesg文件中当内核将管理交接给/sbin/init之后系统日志即转交给syslogd并记录在:/var/log/messages:系统标准错误日志信息;非内核产生引导信息,各子系统产生的信息;/var/log/maillog:邮件系统产生的日志信息;/var/log/secure:系统登录日志日志信息是每天每时都在产生,那么当超过一定时间之后文件必定会变得庞大无比,这时我们在查看系统日志的时候就会更多的占用我们的系统资源。这时logrotate就派上用处了。Logrotate是用来做日志滚动的命令,它能够实现日志的定时自我切割和保留条目的设置,非常方便的就将日志文件给备份保留了。在/etc/cron.daily/目录下有一个logrotate的计划任务,通过在/etc/logrotate.conf的配置文件进行管理和设置,同时还在/etc/logrotate.d/目录下的众多子任务进行日志的配置。全局的syslog日志系统有一个配置文件/etc/syslog.conf

在配置文件中对于文件格式定义为三种:facility,priority,action

Factility,可以理解为日志的来源或设备,目前常用的factility有以下几种:

auth#认证相关的authpriv #权限,授权相关的cron #任务计划相关的daemon #守护进程相关的kern #内核相关的lpr #打印相关的mail #邮件相关的mark #标记相关的news #新闻相关的security #安全相关的,与auth类似syslog #syslog自己的user #用户相关的uucp #unixtounixcp相关的local0到local7 #用户自定义使用*#*表示所有的facility

Priority(loglevel)日志的级别,一般有以下几种级别(从低到高)

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相反*.info#表示记录所有的日志信息的info级别mail.*#表示记录mail相关的所有级别的信息*.*#你懂的.cron.info;mail.info#多个日志来源可以用 隔开cron,mail.info#与cron.info;mail.info是一个意思mail.*;mail.!=info#表示记录mail相关的所有级别的信息,但是不包括info级别的

随着数据信息的日趋重要,日志也被作为一个修复和查找原始数据的一个依据也越发的显得重要了,这时我们就需要将这些日志信息保存在我们单独部署的服务器中。

而当我们在部署日志服务器的时候,实际上只需要修改我们的日志配置文件指向到我们的日志服务器重即可

修改/etc/syslog.conf使我们的主机产生的日志发送给其他人

修改/etc/sysconfig/syslog文件,使服务器能够接收其他主机传输的日志信息!

你在会议中吵架时,尼泊尔的背包客一起端起酒杯坐在火堆旁。

Linux上的航海士——日志系统推荐

相关文章:

你感兴趣的文章:

标签云: