日志文件内容的一般格式

一般来说,系统产生的信息经过syslogd记录下来的数据中,每条信息均记录下面的几个重要数据:

  • 事件发生的日期与时间;
  • 发生此事的主机名;
  • 启动此事件的服务名称(如 samba, xinetd等)或函数名称(如 libpam);
  • 该信息的实际数据内容;

当然,这些信息的详细度是可以修改的,下面是/var/log/secure所记录的信息:

 Dec  :: localhost sshd[]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
Dec :: localhost sshd[]: Failed password for root from 122.225.103.103 port ssh2
Dec :: localhost sshd[]: fatal: Read from socket failed: Connection reset by peer [preauth]
Dec :: localhost sshd[]: Failed password for root from 122.225.103.103 port ssh2
Dec :: localhost sshd[]: fatal: Write failed: Connection reset by peer [preauth]
Dec :: localhost polkitd[]: Loading rules from directory /etc/polkit-/rules.d
Dec :: localhost polkitd[]: Loading rules from directory /usr/share/polkit-/rules.d
Dec :: localhost polkitd[]: Finished loading, compiling and executing rules
Dec :: localhost polkitd[]: Acquired the name org.freedesktop.PolicyKit1 on the system bus
  |---日期/时间---|-------服务与函数-------|------------------------信息说明-----------------

对第一条进行解析:12月27日的1点04分51秒在本地主机的sshd(PID为5677)传来的消息,这个消息有pam_succeed模块提出,信息内容为requirement "uid >=1000" not met by user "root"。

syslogd的配置文件:/etc/syslog.conf

/etc/syslog.conf这个文件规定了什么服务的什么等级信息以及需要被记录在什么文件或设备,语法为:

 服务名称[.=!]信息等级  信息记录的文件或设备或主机

 #下面以mail这个服务产生的info等级为例:

 mail.info  /var/log/maillog_info

 #这行说明:mail服务产生的大于等于info等级的信息都记录到/var/maillog_info文件中。

服务名称

syslogd本身有设置一些服务,主要有下面这些(可使用man 3 syslog查询到相关的信息)。

服务类型 说明
auth(authpriv) 主要与认证有关的机制,例如:login,ssh,su等需要帐号/密码
cron 就是例行性工作调度cron/at等生成信息日志的地方
daemon 与各个daemon有关的信息
kern 就是内核(kernel)产生信息的地方
lpr 即是打印相关的信息
mail 只要与邮件收发有关的信息记录都属于这个
news 与新闻组服务器有关的东西
syslog 就是syslogd这个程序本身生成的信息
user,uucp,local0~lcocal7 与Unix like机器本身有关的一些信息

以上都是syslog自行定制的服务名称,软件可通过调用上述的服务名称来记录它们产生的信息。如:sendmail与postfix及dovecot都是与邮件有关的软件,这些软件在设计日志记录时都会主动调用syslogd内的mail服务名称(LOG_MAIL),所以上述软件所产生的信息被syslogd记录在maillog文件中。

信息等级

同一个服务所产生的信息也是有差别的,有启动时仅通知系统而已的一般信息(information),有出现还不至于影响到正常运行的警告信息(warn),还有系统硬件发生严重错误时所产生的重大问题信息(error等);syslog将信息分为7个主要等级。

等级 等级名称 说明
1 info 仅是一些基本的信息说明
2 notice 除了info外还需要注意的一些信息内容
3 warning(warn) 警示的信息,可能有问题,但还不至于影响到某个daemon运行的信息;基本上,info,notice,warn这三个信息都是在告知一些基本信息而已,应该还不至于造成一些系统运行困扰
4 err(error) 一些重大的错误信息,例如配置文件的某些设置值造成该服务无法启动的信息说明,通常通过err的错误告知,应该可以了解到该服务无法启动的问题
5 crit 比err还要严重的错误信息,这个crit是临界点(critical)的缩写,这个错误已经很严重了
6 aiert 警告,已经很有问题,比crit还要严重
7 emerg(panic) “疼痛”等级,指系统几乎要死机的状态,很严重的错误信息。通常是硬件出问题导致整个内核无法顺利运行就会出现这样的信息

除了这些等级外还有两个特殊的等级,debug(错误检测等级)和none(不需等录等级)。当我们要做一些错误检测或忽略掉某些服务的信息时,可用这两个等级。

等级信息前[.=!]所代表的意思是:

“.”  代表比后面还要高的等级(含该等级)都被记录下来。

“=”  代表所需要的等级,就是后面接的等级。

“!”  代表不等于,即除了该等级外的其他等级都要记录。

信息记录的文件名或设备或主机

这个告诉syslogd将信息记录到什么地方,通常是记录文件,但也可以输出到设备,例如打印机之类的。也可以记录到不同的主机上。下面是一些常见的放置处:

  1. 文件的绝对路径:通常就是放在/var/log里
  2. 打印机或其他:例如/dev/lp0这个打印机设备。
  3. 用户名称:显示给用户。
  4. 远程主机:例如@www.vbird.tsai,当然,需要对方主机的支持。
  5. *:代表目前在线的所有人,类似wall这个命令。

日志文件的安全性设置

可以通过chattr设置a这个属性来增加日志文件的隐藏属性,让日志文件只能增加不能被删除。不过在进行日志文件轮替时将无法移动该日志文件的文件名,需要通过使用logrotate的配置文件来解决。

 [root@www ~]# chattr +a /var/log/messages

 #将messages文件添加隐藏属性

 [root@www ~]# chattr -a /var/log/messages

 #删除隐藏属性

附:

日志文件无法记录信息:

导致日志文件无法记录信息的原因有很多,其中有一个就是在打开日志文件时对文件进行了编辑,如用vim打开日志文件后在离开时使用了“:wq”,这就会导致日志文件无法继续记录信息。因为syslog的日志文件只要“被编辑过”就无法继续记录,这才导致无法记录。只要重新启动syslog即可。

鸟哥笔记:syslogd:记录日志文件的服务的更多相关文章

  1. 鸟哥笔记:linux系统日志文件介绍

    简单的说日志文件就是记录系统活动信息的几个文件,例如:何时.何地(来源ip).何人(什么服务名称).做了什么操作.换句话说就是:记录系统在什么时候由哪个进程做了什么样的行为时,发生了什么事件等. 日志 ...

  2. PHP学习笔记——上传文件到服务端的文件夹下

    环境 开发包:appserv-win32-2.5.10 服务器:Apache2.2 数据库:phpMyAdmin 语言:php5,java 平台:windows 10 需求 编写一个PHP脚本页面,可 ...

  3. 鸟哥笔记:postfix的一些重要配置文件

    postfix的一些主要配置文件都放在/etc/postfix/目录下,其中几个重要的配置文件有main.cf.master.cgf.access和aliases文件. /etc/postfic/ma ...

  4. 《鸟哥的Linux私房菜》读书笔记

    第五章  初次使用Linux man.info的使用 组合键:切换登录环境.Tab.Ctrl+c.Ctrl+d 正确关机的方法 开机过程的问题排解:文件系统错误.忘记root密码 第六章  文件权限& ...

  5. 《鸟哥的Linux私房菜》Chapter11 20180726~20180806

    目录 1.认识Bash这个shell 1.1.硬件.核心与shell 1.2.系统的合法shell和/etc/shells功能 1.3.Bash shell的功能 1.3.1.命令修编功能 1.3.2 ...

  6. linux学习书籍推荐《鸟哥的Linux私房菜》下载

    下载地址:点我 <鸟哥的Linux私房菜:基础学习篇>是具有知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>的最新版,全面而详细地介绍了Linux操作系统.< ...

  7. 第十章:鸟哥的Linux私房菜

    第十章.vim程式编辑器 1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档.救援回复与开启时的警告讯息 ...

  8. 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)

    上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...

  9. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

随机推荐

  1. 【转】SQL语句中的正则表达示

    正则表达式作用是匹配方本,将一个模式(正则表达式)与一个文本串进行比较. MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定用正则表达式过滤SELECT检索出的数据. MySQL仅支持 ...

  2. [Sciter系列] MFC下的Sciter–1.创建工程框架

      Sciter SDK中提供的Win32下例程很多,唯独使用很多(对我个人而言)的MFC框架下Sciter程序的构建讲的很少,虽然MFC有这样那样的诟病,但是不可否认的是编写一般的小项目,这仍然是大 ...

  3. 配置struts tags 输出HTML

    <s:property escape="false" value="vaMsg"/> escape="false"则vaMsg内 ...

  4. Web.xml 中增加log4j

    配置文件例如以下.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app versio ...

  5. Java Annotations: Explored & Explained--转载

    原文地址:http://www.javacodegeeks.com/2012/08/java-annotations-explored-explained.html One of the many w ...

  6. Helpers\Data

    Helpers\Data Data helper contains a bunch of useful methods for looking at and altering your data. D ...

  7. JavaScript中的各种宽高以及位置总结

    JavaScript中的各种宽高以及位置总结 在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动 ...

  8. swift的特点

      2个不需要: 1.不需要编写main函数:从上往下按顺序执行代码,所以最前面的代码会自动当做程序的入口   2.不需要在每一条语句后面加分号(也可以加):若是有多条语句在同一行就一定要加分号   ...

  9. 深入理解计算机系统第二版习题解答CSAPP 2.12

    对于下面的值,写出变量x的C语言表达式.代码应该对任何字长w≥8都能工作.我们给出当x=0x87654321以及w=32时表达式的结果,仅供参考. A.x的最低有效字节,其他位均为0.[0x00000 ...

  10. CountDownLatch(闭锁)

    一.闭锁(Latch)    闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态.通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都 ...