Linux的log日志功能

# cd /etc/init.d

# ./syslog restart

Shutting down kernel logger: OK ]
Shutting down system logger: OK ]
Starting system logger: OK ]
Starting kernel logger: OK ]

不过最好查询清楚是为什么不能写入linux os log的 ?

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

 

日志功能

日志(log)功能用于将路由器产生的各种信息以日志形式记录到具备syslog功能的主机上(如unix主机)。

该功能的缺省形式是将信息显示在连接console口的终端上。

一、syslog功能简介

1、unix主机用syslogd记录系统信息,信息来源包括:

1)系统内核产生系统信息

2)fifo管道记录内部进程通信的信息

3)进程将信息通过socket连接写入到log设备中

4)远端主机通过某种连接将信息输入

其中,第3项与本路由器syslog功能有关。

2、unix将系统信息以某种形式分类或分级,该形式可理解为:

facility.level

facility代表产生信息的来源,常用的有以下几项:

auth 用户身份认证信息

authpriv 用户权限认证信息

cron cron信息

daemon daemon进程产生的信息

kern 内核信息

local0~7 系统留用

lpr 打印队列产生的信息

mail 邮件系统信息

news news系统信息

user 用户进程产生信息

uucp 与uucp有关的信息

syslog syslogd自身信息

level 是信息的级别,代表着子系统对该级别或该级别以上的信息所要采取的措施,常用的有8项

emerg 系统失效,级别最高

alert 需立即修补

crit 情况严重,如硬件损坏

err 错误

warning 警告

notice 需加以注意,但无关紧要

info 普通信息

debug debug信息

二、config状态下log的配置

logging命令有如下命令选项

buffered - 将日志记录于内部缓冲区

clear - 清除内部日志

console [ * ] - 将日志记录于终端

facility - 设置syslog的用途

source-interface- 设置syslog报文的源地址

trap - 设置日志记录的门限

a.b.c.d - 将日志记录于支持syslog的主机

其中,logging console是缺省配置。

1、 logging buffered

将日志记录于内部buffer中,利用show logging命令可以显示buffer中的log信息。

2、 logging clear

logging buffered的相关命令,用于清除buffer中的log信息。

3、 logging console

缺省配置为将日志信息显示于监控终端。

相关命令见terminal monitor enable/disable

4、 logging facility

logging facility ftp 在linux主机中将日志信息的facility标记为ftp

logging facility nnn(0-255) 从0开始,依次对应于前面各项,其余留用

其它命令选项参见syslog功能简介

5、logging source-interface

设定source-interface 为log信息报文的源发地址

6、 logging trap

门限设定参见syslog功能简介

一般说来,log信息下列几大类

err 标记软件错误信息或硬件故障信息

notice 标记端口up/down的变化

info 标记系统重启信息、包过滤报文记录

debug 标记debug信息

warning 标记用户验证失效和被包过滤禁止的报文记录

nnn(0-7) 依次对应于前面各项,级别最高为0,最低为7

在设定一个级别之后,日志将记录该级别和该级别之上的log信息。

7、 logging a.b.c.d

将ip为a.b.c.d的主机作为syslog主机

三、相关命令

1、 terminal monitor enable/disable

缺省状态下为logging console时,日志信息(包括debug信息)只能在监控窗口显示,虚拟终端不能显示,要使在虚拟终端显示log信息,只需在config状态下键入:

terminal monitor enable

反之,设terminal monitor disable

2、防火墙列表中,每个列表都可以记log信息

:如:per add ip 2.2.2.2 255.0.0.0 1.1.1.1 255.0.0.0 log

3、 show logging

显示记录于buffer中的log信息

 

==========================================================

系统运行日志:

ALinux 日志存储在 /var/log 目录中。这里有几个由系统维护的日志文件,但其他服务和程序也可能会把它们的日志放在这里。大多数日志只有 root 才可以读,不过只需要修改文件的访问权限就可以让其他人可读。

以下是常用的系统日志文件名称及其描述:

lastlog 记录用户最后一次成功登录时间

loginlog 不良的登陆尝试记录

messages 记录输出到系统主控台以及由syslog系统服务程序产生的消息

utmp 记录当前登录的每个用户

utmpx 扩展的utmp

wtmp 记录每一次用户登录和注销的历史信息 wtmpx 扩展的wtmp

vold.log 记录使用外部介质出现的错误

xferkig 记录Ftp的存取情况 sulog 记录su命令的使用情况

acct 记录每个用户使用过的命令

aculog 拨出自动呼叫记录

B/var/log/messages
messages 日志是核心系统日志文件。它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这里列出。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。

C/var/log/XFree86.0.log这个日志记录的是 Xfree86 Xwindows 服务器最后一次执行的结果。如果您在启动到图形模式时遇到了问题,一般情况从这个文件中会找到失败的原因。

D/var/log 目录下有一些文件以一个数字结尾,这些是已轮循的归档文件。日志文件会变得特别大,特别笨重。Linux 提供了一个命令来轮循这些日志,以使您的当前日志信息不会淹没在旧的无关信息之中。 logrotate 通常是定时自动运行的,但是也可以手工运行。当执行后,logrotate 将取得当前版本的日志文件,然后在这个文件名最后附加一个“.1”。其他更早轮循的文件为“.2”、“.3”,依次类推。文件名后的数字越大,日志就越老。

可以通过编辑 /etc/logrotate.conf 文件来配置 logrotate 的自动行为。通过 man logrotate 来学习 logrotate 的全部细节。

其中:

# rotate log files weekly

weekly

这里代表每个日志文件是每个星期循环一次,一个日志文件保存一个星期的内容。

# keep 4 weeks worth of backlogs

rotate 4

这里代表日志循环的次数是4次,即可以保存4个日志文件。

E、定制日志

可以通过编辑 /et/syslog.conf 和 /etc/sysconfig/syslog 来配置它们的行为,可以定制系统日志的存放路径和日志产生级别。

last

单独执行last指令,它会读取位于/var/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

history

history命令能够保存最近所执行的命令。如果是root命令所保存的命令内容在/root/.bash_history文件中,如果是普通用户,操作所命令保存在这个用户的所属目录下,即一般的/home/username/.bash_history。这个history的保存值可以设置,编辑/etc/profile文件,其中的HISTSIZE=1000的值就是history保存的值。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。