日志文件内容的一般格式

一般来说,系统产生的信息经过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. Lync边缘服务器配置

    以下步骤均使用Lync管理员权限即可完成 1.在前端下载并编辑拓扑,新建边缘池 如果边缘池中只有一台服务器,则池名称与服务器名称相同,如下: 如果需要删除边缘池,则需要先取消关联,如下: 2.发布拓扑 ...

  2. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  3. 未打开Ad Hoc Distributed Queries

    SSAS访问ORACLE数据仓库读取数据创建CUBE的时候报如下错误: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'Open ...

  4. wordpress迁移

    从一个地方搬到另一个窝,我必定会带着我的Wordpress,这就涉及到博客的迁移了.首先申明,该文非原创,放在这里主要是为了方便自己日后再次需要转移博客时,能很快锁定文章目标. 这篇文章主要介绍怎样将 ...

  5. java_jdbc_batch处理_主键id获取

    //create1 速度较慢,create2较快,但是要根据数据库不同来决定 //ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_ ...

  6. C# 之 Excel 导入一列中既有汉字又有数字:数字可以正常导入,汉字导入为空

    今天在做一个Excel导入功能,一切开发就绪,数据可以成功导入.导入后检查数据库发现有一列既有汉字又有数字,数字正常导入,汉字为空.但是前面同样既有汉字又有数字的列可以导入成功. 查看excel 源文 ...

  7. Android(java)学习笔记130:ProgressBar使用的

    首先我们看例程如下: 1.main.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <Line ...

  8. Cadence画封装的步骤

    画封装的步骤 打开 pad designer       through 通孔       single  表贴      在焊盘设置时,soldermask层要比pastmask大0.1毫米     ...

  9. aggregations 详解1(概述)

    aggregation分类 aggregations —— 聚合,提供了一种基于查询条件来对数据进行分桶.计算的方法.有点类似于 SQL 中的 group by 再加一些函数方法的操作. 聚合可以嵌套 ...

  10. Visual Studio dte 获取代码方法注释