鸟哥笔记:syslogd:记录日志文件的服务
日志文件内容的一般格式
一般来说,系统产生的信息经过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 | 即是打印相关的信息 |
| 只要与邮件收发有关的信息记录都属于这个 | |
| 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将信息记录到什么地方,通常是记录文件,但也可以输出到设备,例如打印机之类的。也可以记录到不同的主机上。下面是一些常见的放置处:
- 文件的绝对路径:通常就是放在/var/log里
- 打印机或其他:例如/dev/lp0这个打印机设备。
- 用户名称:显示给用户。
- 远程主机:例如@www.vbird.tsai,当然,需要对方主机的支持。
- *:代表目前在线的所有人,类似wall这个命令。
日志文件的安全性设置
可以通过chattr设置a这个属性来增加日志文件的隐藏属性,让日志文件只能增加不能被删除。不过在进行日志文件轮替时将无法移动该日志文件的文件名,需要通过使用logrotate的配置文件来解决。
[root@www ~]# chattr +a /var/log/messages #将messages文件添加隐藏属性 [root@www ~]# chattr -a /var/log/messages #删除隐藏属性
附:
日志文件无法记录信息:
导致日志文件无法记录信息的原因有很多,其中有一个就是在打开日志文件时对文件进行了编辑,如用vim打开日志文件后在离开时使用了“:wq”,这就会导致日志文件无法继续记录信息。因为syslog的日志文件只要“被编辑过”就无法继续记录,这才导致无法记录。只要重新启动syslog即可。
鸟哥笔记:syslogd:记录日志文件的服务的更多相关文章
- 鸟哥笔记:linux系统日志文件介绍
简单的说日志文件就是记录系统活动信息的几个文件,例如:何时.何地(来源ip).何人(什么服务名称).做了什么操作.换句话说就是:记录系统在什么时候由哪个进程做了什么样的行为时,发生了什么事件等. 日志 ...
- PHP学习笔记——上传文件到服务端的文件夹下
环境 开发包:appserv-win32-2.5.10 服务器:Apache2.2 数据库:phpMyAdmin 语言:php5,java 平台:windows 10 需求 编写一个PHP脚本页面,可 ...
- 鸟哥笔记:postfix的一些重要配置文件
postfix的一些主要配置文件都放在/etc/postfix/目录下,其中几个重要的配置文件有main.cf.master.cgf.access和aliases文件. /etc/postfic/ma ...
- 《鸟哥的Linux私房菜》读书笔记
第五章 初次使用Linux man.info的使用 组合键:切换登录环境.Tab.Ctrl+c.Ctrl+d 正确关机的方法 开机过程的问题排解:文件系统错误.忘记root密码 第六章 文件权限& ...
- 《鸟哥的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 ...
- linux学习书籍推荐《鸟哥的Linux私房菜》下载
下载地址:点我 <鸟哥的Linux私房菜:基础学习篇>是具有知名度的Linux入门书<鸟哥的Linux私房菜基础学习篇>的最新版,全面而详细地介绍了Linux操作系统.< ...
- 第十章:鸟哥的Linux私房菜
第十章.vim程式编辑器 1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档.救援回复与开启时的警告讯息 ...
- 鸟哥的Linux私房菜 基础学习篇读书笔记(9):Linux磁盘与文件系统管理(2)
上一篇文章主要从理论上分析了Linux的Ext2文件系统.这一篇主要解说怎样查看Linux的文件系统的容量以及解说Linux文件系统中的连接文件. 能够通过df和du命令来查看磁盘与文件夹的容量.df ...
- 鸟哥Linux私房菜基础学习篇学习笔记3
鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...
随机推荐
- IOS设置button 图片 文字 上下、左右
[btn setImage:imgNor forState:UIControlStateNormal]; [btn setImage:imgSel forState:UIControlStateSel ...
- Python 对新浪微博的博文元素 (Word, Screen Name)的频率分析
CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-9 @author: guaguastd @name: we ...
- 使MySQL 支持繁体字
要 MySQL 支持繁体字,可以将相关编码设置为 UTF8 (也叫 UTF-8).编码的设置从浏览器到表字段,一个都不能少: 浏览器设置 HTML设置 服务器 Request 对象设置 数据库连接设置 ...
- Android 导入导出CSV,xls文件 .
1 . http://www.bangchui.org/read.php?tid=62 2 .http://blog.csdn.net/xinzheng_wang/article/details/77 ...
- JavaScript中的各种宽高以及位置总结
JavaScript中的各种宽高以及位置总结 在javascript中操作dom节点让其运动的时候,常常会涉及到各种宽高以及位置坐标等概念,如果不能很好地理解这些属性所代表的意义,就不能理解js的运动 ...
- Android_Spinner_example
xml数据: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- Objective-C,复合类,Composition
复合类 5.复合类现实中,复杂的对象都是由较小和较为简单的对象构成:由简单对象创建复杂对象的过程称作合成.合成通常使用在有has-a关系的对象:通常的基本数据类型可以满足构造简单和小的对象.为了从小 ...
- signal函数、sigaction函数及信号集(sigemptyset,sigaddset)操作函数
信号是与一定的进程相联系的.也就是说,一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如,一个进程可以忽略某些信号而只处理其他一些信号:另外,一个进程还可以选择如何处理信号.总之,这些总与特定 ...
- [转]Spring数据库读写分离
数据库的读写分离简单的说是把对数据库的读和写操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力. 主(master)数据库提供写操作,从(slave)数据库提供读操作,其实在 ...
- Swift函数|闭包
在编程中,我们常把能完成某一特定功能的一组代码,并且带有名字标记类型叫做函数,在C语言中,我们知道函数名就是一个指针,它指向了函数体内代码区的第一行代码的地址,在swift中也具有同样的功效. 在Sw ...