Linux rsyslog 系统日志服务

  • Linux rsyslog 系统日志服务已关闭评论
  • 114 次浏览
  • A+
所属分类:linux技术
摘要

  rsyslog服务是CentOS 6 以后版本的系统日志管理服务。特点:
  性能高、安全性好、基于模块化设计


rsyslog 系统日志服务

  rsyslog服务是CentOS 6 以后版本的系统日志管理服务。

特点:
  性能高、安全性好、基于模块化设计

官方网站:
  https://www.rsyslog.com/

rsyslog系统日志术语

  • facility:设施,从功能或程序上对日志进行归类
  • Priority 优先级别

日志类别的分类:

  • 内置内类:
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, syslog 
  • 自定义分类:
local0-local7 

优先级别:

从低到高分为是: debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic) 

rsyslog服务的相关文件:

#可以通过 rpm -ql rsyslog查看程序包里面的文件 程序包:rsyslog  主程序:/usr/sbin/rsyslogd  CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}  CentOS 7,8:/usr/lib/systemd/system/rsyslog.service  配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf  库文件: /lib64/rsyslog/*.so 
rsyslog 配置文件

配置文件的组成:
  由三部分组成:模块配置、全局配置、日志规则设置

#### MODULES #### 约定了加载那些模块  #### GLOBAL DIRECTIVES #### 例如日志的存储目录、模块的加载路径等  #### RULES ####  日志的规则配置(不同类别的日志存放位置) 

日志规则(RULES)格式设置:
  格式:日志类别.优先级 ... 存储日志的文件或其他

例如:

#authpriv类别,任何级别的日志都存放到/var/log/secure中  authpriv.*  /var/log/secure 

facility格式:
  指定日志的类别,多个类别之间用逗号隔开,*号表示所有类别

facility1,facility2,facility3,...         #指定的facility列表 

priority格式:
  指定日志的优先级

*: 所有级别  none:没有级别,即不记录  PRIORITY:指定级别(含)以上的所有级别  =PRIORITY:仅记录指定级别的日志信息 

target格式:
  target可以出一个存储日志的文件路径,也可以是指定的日志服务器等

文件路径:通常在/var/log/,文件路径前的-表示异步写入  用户:将日志事件通知给指定的用户,* 表示登录的所有用户  日志服务器:@host,把日志送往至指定的远程UDP日志服务器 @@host 将日志发送到远程TCP日志服务器  管道: | COMMAND,转发给其它命令处理 

日志的通用格式:

事件产生的日期时间 主机 进程(pid):事件内容 

例如:

[root@centos8 ~]#tail /var/log/messages Nov 12 08:34:18 centos8 dnf[14114]: Metadata cache created. Nov 12 08:34:18 centos8 systemd[1]: Started dnf makecache. Nov 12 09:35:14 centos8 systemd[1]: Starting dnf makecache... Nov 12 09:35:14 centos8 dnf[14249]: Metadata cache refreshed recently. Nov 12 09:35:14 centos8 systemd[1]: Started dnf makecache. Nov 12 10:21:22 centos8 systemd[1]: Starting man-db-cache-update.service... 

范例:将ssh服务的日志记录至自定义的local的日志设备

 #修改sshd服务的配置 Vim /etc/ssh/sshd_config SyslogFacility local2 #调用rsyslog的local2这种日志类别 Service sshd reload  #修改rsyslog的配置 Vim /etc/rsyslog.conf Local2.* /var/log/sshd.log  #loacl2表示自定义的日志类别,*表示所有级别的日志 Systemctl  restart rsyslog  #测试 Ssh登录后,查看/var/log/sshd.log有记录  

使用syslog管理日志的前提:
  服务支持rsyslog,调用了rsyslog的接口才可以使用。