Linux日志系统小记


概述:最近做ssh无密码认证实验时,在ssh服务配置文件中发现 authpriv,当时有种似曾相识的感觉。干脆就是复习了下syslogd这个daemon,又发现在Redhat 6 中syslogd改名为rsyslogd.

本博客是以 centos 6.6为例。

  • rsyslog简介

  • rsyslog的配置文件rsyslog.conf说明

  • rsyslog配置文件语法格式

  • rsyslog启动方法

  • 系统其它日志和应用程序日志

  • 日志消息来源和等级英文参考

rsyslog简介

rsyslog 是在redhat 6.x以后使用的系统日志系统,其进程名为 rsyslogd.(在redhat 5.x中日志系统为syslog进程名为syslogd,本人当时man syslog 和 man rsyslogd 其实也差不多,没有多大改进)。UNIX和Linux操作系统都是采用rsyslog进行系统日志的管理和配置。Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息。管理员了解系统的运行状态是很有用的,所以应该根据信息的来源以及信息的重要程度把它们写到不同日志文件中去。而执行这个过程的程序就是rsyslog。

默认情况下linux日志都保存在/var/log目录。

 

rsyslog的配置文件rsyslog.conf

[root@zabbix ~]# cat /etc/rsyslog.conf

默认rsyslog.conf配置文件比syslog.conf多这里以rsyslog.conf为例。

# rsyslog v5 configuration file

# For more information see/usr/share/doc/rsyslog-*/rsyslog_conf.html

# If you experience problems, seehttp://www.rsyslog.com/doc/troubleshoot.html

#以上为配置文件说明

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging(e.g. via logger command)

$ModLoad imklog   #provides kernel logging support (previously done by rklogd)

#$ModLoad immark  #provides --MARK-- message capability

# Provides UDP syslog reception

#$ModLoad imudp

#$UDPServerRun 514

# Provides TCP syslog reception

#$ModLoad imtcp

#$InputTCPServerRun 514

#默认加载的模块,基本上不需要改。

#### GLOBAL DIRECTIVES ####

# Use default timestamp format

$ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat

# File syncing capability is disabled by default. This featureis usually not required,

# not useful and an extreme performance hit

#$ActionFileEnableSync on

# Include all config files in /etc/rsyslog.d/

$IncludeConfig /etc/rsyslog.d/*.conf

#上为全局配置,基本上不需要改。

#配置文件接下来的 规则rule 是我们最关心的,它关系到日志文件存放在哪,怎么归类之类,你下想你/var/log/下一般会看到很文件,他们都是归好类的。

#### RULES ####

# Log all kernel messages to the console.

# Logging much else clutters up the screen.

#kern.*                                                /dev/console

#

# Log anything (except mail) of level info or higher.

# Don't log private authentication messages!

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# 把除邮件、授权和定时任务以外的其他info级别的信息记录到/var/log/messages日志文件中

# The authpriv file has restricted access.

authpriv.*                                             /var/log/secure

# 把所有授权信息记录到/var/log/secure日志文件中,这也是为什么用户登录记录会在这个文件了,你可以tail/var/log/secure 查看你最近的登录记录。

# Log all the mail messages in one place.

mail.*                                                  -/var/log/maillog

# 把所有级别的邮件信息记录到/var/log/maillog日志文件中

# Log cron stuff

cron.*                                                 /var/log/cron

# 把所有级别的定时任务信息记录到/var/log/cron日志文件中

# Everybody gets emergency messages

*.emerg                                                 *

# 把emerg级别的信息发送给所有登录用户

# Save news errors of level crit and higher in a special file.

uucp,news.crit                                         /var/log/spooler

#uccp子系统和重要网络新闻子系统信息记录到/var/log/spooler日志文件中

# Save boot messages also to boot.log

local7.*                                               /var/log/boot.log

# 把所有的系统启动信息记录到/var/log/boot.log日志文件中,可以看到开机是启动那些东东。

#配置文件以下部分为转发规则forwarding rule,你想想啊,每台linux服务器都记录了自己的日志,几台还好,多了话难到要一台一台的登录上去看吗?rsyslog很聪明他已经想好了。可以转发到一台上,分析这很容易罗。

# ### begin forwarding rule ###

# The statement between the begin ... end define a SINGLEforwarding

# rule. They belong together, do NOT split them. If you createmultiple

# forwarding rules, duplicate the whole block!

# Remote Logging (we use TCP for reliable delivery)

# An on-disk queue is created for this action. If the remotehost is

# down, messages are spooled to disk and sent when it is upagain.

#$WorkDirectory /var/lib/rsyslog # where to place spool files

#$ActionQueueFileName fwdRule1 # unique name prefix for spoolfiles

#$ActionQueueMaxDiskSpace 1g  # 1gb space limit (use as much as possible)

#$ActionQueueSaveOnShutdown on # save messages to disk onshutdown

#$ActionQueueType LinkedList  # run asynchronously

#$ActionResumeRetryCount -1   # infinite retries if host is down

# remote host is: name/ip:port, e.g. 192.168.0.1:514, portoptional

#*.* @@remote-host:514

#去掉#号生效  *.*为所有日志型 ,所以以上行意思为 这台服务器连接到远程remote-host的514端口,并将所有日志转发一份到远程 remote-host这台服务器。

# ### end of the forwarding rule ###

# A template to for higher precision timestamps + severitylogging

$templateSpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag%%syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"

:programname, startswith, "spice-vdagent"/var/log/spice-vdagent.log;SpiceTmpl

rsyslog配置文件语法格式

[消息来源.消息级别]   [动作]  [facility.priority] [action]

[消息来源.消息级别]和[动作]之间以Tab键进行分隔,同一行rsyslog配置中允许出现多个[消息来源.消息级别],但必须要使用分号“;”进行分隔,

例如:mail.*; cron.*       /var/log/test.log

消息来源表示发出消息的子系统。

rsyslog消息来源及说明

消  息 来 源

说    明

消  息 来 源

说    明

authpriv

安全/授权信息

mail

邮件子系统

cron

定时任务

news

网络新闻子系统

daemon

守护进程

syslog

syslogd内部产生的信息

ftp

ftp守护进程

user

一般用户级别信息

kern

内核信息

uucp

UUCP子系统

lpr

打印机子系统

local0-local7

本地用户

优先级代表消息的紧急程度,如下表所示按级别由高到低列出了消息级别及说明。

rsyslog消息级别及说明

消  息 级 别

说    明

消  息 级 别

说    明

emerg

最紧急的消息

warning

警告消息

alert

紧急消息

notice

普通但重要的消息

crit

重要消息

info

通知性消息

err

出错消息

debug

调试级的消息——消息量最多

rsyslog消息级别是向上匹配的,也就是说如果指定了一个消息级别,那么指定级别及比该指定级别更高级的消息都会被包括进去。例如,warning表示所有大于或者等于warning级别的消息都会被处理,包括emerg、alert、crit、err和warning。如果指定的是err级别,那么就只是所有错误信息。

如果只想匹配某个确定级别的消息,而不希望包括更高级别的消息,可以使用等号“=”进行指定。例如希望处理cron的notice级别的消息:cron.=notice       /var/log/test.log

除此之外,rsyslog还支持两个特殊的消息级别关键字:”!=” 和“*”以及none。其中”!=”为不等于,“*”表示匹配所有来源或级别的消息,none表示忽略所有消息。

[动作]

是用于指定消息的处理方式。rsyslog支持把消息保存到日志文件中、发送给指定的用户、显示在终端上或者通过网络发送到另外一台rsyslog服务器上进行处理。表中列出了所有可用的动作及其说明。

动    作

说    明

文件名

将消息保存到指定的文件中

@主机名或IP地址

转发消息到另外一台syslog服务器上进行处理

*

把消息发送到所有用户的终端上

/dev/console

把消息发送到本地主机的终端上

| 程序

通过管道把消息重定向到指定的程序

用户名列表

把消息发送给指定的用户,用户名以逗号“,”进行分隔

rsyslog启动方法

1,  以chkconfig方式来开机自动启动chkconfig  rsyslog on/off

2,  以 service 方式 servicersyslog start|stop|restart|reload|force-reload|status

3,  以 killall方式  killall –HUP rsyslogd

系统其它日志和应用程序日志

Linux系统中有些程序进程自己单独产生应用程序日志系统,(如http日志在 /var/log/http/ 这个目录,由其进本身生成),另外系统还提供了大量的其他日志文件dmesg、wtmp、btmp、.bash_history。

dmesg日志:记录内核日志信息

日志文件/var/log/dmesg中记录了系统启动过程中的内核日志信息,包括系统的设备信息,以及在启动和操作过程中系统记录的任何错误和问题的信息,例如,用户新添加了一个磁盘,如果该磁盘设备能被Linux系统正确识别,那么在dmesg日志文件中应该能够看到它的信息。

wtmp和btmp用户登录日志

/var/log/wtmp和/var/log/btmp是Linux系统上用于保存用户登录信息的日志文件。其中wtmp用于保存用户成功登录的记录,而btmp则用于保存用户登录失败的日志记录,它们为系统安全审计提供了重要的信息依据。这两个文件都是二进制的,无法直接使用文本编辑工具打开,必须通过last和lastb命令进行查看。

查看成功的用户登录记录用last,查看失败用户登录记录用lastb。

日志消息来源和等级英文参考:

The  facility is one of the following keywords: auth, authpriv, cron, daemon,kern, lpr,

mail, mark, news, security(same as auth), syslog, user, uucp and local0 through local7.

The  keyword security  should not be usedanymore and mark is only for internal use and

therefore should not be usedin applications.  Anyway, you may want tospecify and redi-

rect  these messages here.  The facilityspecifies the subsystem that produced the mes-

sage, i.e. all mail programslog with the mail facility (LOG_MAIL) if  they  log using

syslog.

The  priority is one of the following keywords, in ascending order: debug,info, notice,

warning, warn (same aswarning), err, error (same as err), crit,  alert,  emerg, panic

(same  as emerg).   The keywords error, warnand panic are deprecated and should not be

used anymore.  The priority defines the severity of themessage

本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
支持我,请点击 巧妙绝情 谢谢

转载于:https://blog.51cto.com/qiaomiao/1599373

Linux日志系统小记相关推荐

  1. 分析linux相关日志文件,Linux日志系统与分析.pdf

    Linux日志系统与分析 1 目录  Linux日志系统简介  Linux日志分析  案例介绍: Linux日志入侵发现 Linux日志系统简介  日志的主要用途是系统审计.监测追踪和分析统计 ...

  2. Linux日志系统_syslog服务详解

    Linux日志系统_syslog服务详解 参考链接:https://blog.csdn.net/weixin_42569329/article/details/116609984 一台服务器的日志对系 ...

  3. Linux日志系统-01:什么是rsyslog?

    目录: 一.rsyslog是什么? 二.rsyslog的配置文件/etc/rsyslog.conf 三.详解rsyslog的配置文件/etc/rsyslog.conf ---------------- ...

  4. Linux 日志系统

    [概述] 日志数据是有价值的信息宝库,也可以是毫无价值的数据泥潭. 日志可以记录系统产生的所有行为,并按照某种规范表达出来. 我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这 ...

  5. linux日志系统的实现,一个同步日志系统的简单实现 log for c (linux 平台)

    在一个项目中需要使用日志记录,网上也有很多开源代码,自己也尝试着写了一个!异步日志系统正在进行中. //mylog.h 头文件 #ifndef _MYLOG_HEADER_ #define _MYLO ...

  6. linux 高性能日志,linux日志系统

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 常见的日志 常见的日志一般存放在 /var/log 中,我们可以根据服务对象粗略的将日志分为两类系统日志 应用日志日志名 ...

  7. linux内核日志使用syslog,Linux日志系统syslog详解

    一台服务器的日志对系统工程师来说是至关重要的,一旦服务器出现故障或被入侵,我们需要查看日志来定位问题的关键所在,所以说对于线上跑的服务器而言日志应该合理的处理及管理.下面来介绍下linux系统的sys ...

  8. Linux日志系统-05:案例1-实现临时日志文件滚动分割

    一.案例要求: 创建一个日志文件/tmp/test_logrotate.log,然后使用logrotate来管理日志,每天滚动一次,文件大小上限为10M,保留5个日志,旧日志用时间命名. 二.实现步骤 ...

  9. Linux日志系统-02:logrotate简介

    目录 1.logrotate作用 2.logrotate具体功能 3.logrotate的配置文件 -------------------------------------------------- ...

最新文章

  1. jQuery 特殊选择器this
  2. PADS LAYOUT的一般流程
  3. android listview 游标,Android Listview - 使用游标时无法选择多个项目
  4. 整合rabbitmq+redis发送验证码消息
  5. python rabitmq_python RabbitMQ队列使用
  6. python 笔记 之 函数中默认参数的影响
  7. 清华大学成立人工智能学堂班,土木类、电子信息类实行全程大类培养
  8. Mysql截取中英数混合的字符串
  9. 我的内核学习笔记10:Intel GPIO驱动源码分析
  10. php抓取关键词排名,如何 用php抓取google关键词排名?
  11. 椭圆形建筑——逸夫演艺中心
  12. cocos2d-JS 模块 anysdk 概述
  13. react大数据量渲染_React大量数据渲染的绝佳解决方案——React虚拟化组件
  14. 垦丁小吃:一碗150元台币的芒果冰
  15. 京东数据化运营(二)- 转化率
  16. 【自学51单片机】3 -- 硬件基础知识(电容、三极管、74HC245、74HC138三八译码器)介绍和闪烁LED小灯
  17. SpringMVC框架|Handler处理器的三种写法
  18. Python大师!UE5的御用布景师
  19. 基于PXI/CPCI总线的高速RS422总线板卡
  20. app live photo_让照片动起来,一招教你将 Live Photos 变成动图

热门文章

  1. matlab最小生成树举例,Matlab最小生成树示例
  2. spring boot使用Jedis整合Redis
  3. Github客户端使用教程
  4. java线程锁标记_java 线程 中断标志位
  5. weblogic服务器连接池配置细节
  6. [LeetCode] 513. Find Bottom Left Tree Value_ Medium tag: BFS
  7. python学习笔记-day6-【python如何写excel表】
  8. Windows下redis使用及安装
  9. 【第四篇章-android平台MediaCodec】推断是否支持硬件解码码
  10. vc6项目-vc8项目 转换日志