Linux rsyslog 系统日志服务
2023-02-18 16:34:39 时间
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的接口才可以使用。
相关文章
- C++ "链链"不忘@必有回响之双向链表
- C++ STL 概述_严丝合缝的合作者
- C++ 栈和典型的迷宫问题
- C++ 使用栈求解中缀、后缀表达式的值
- C++从 STL 中的队列开始说起
- C++ 不知树系列之初识树
- C++ 不知树系列之认识二叉树(数组、链表存储的实现)
- C++ 不知树系列之二叉排序树(递归和非递归遍历、删除、插入……)
- C++ 不知图系列之基于邻接矩阵实现广度、深度搜索
- C++ 不知图系列之基于链接表的无向图最短路径搜索
- C++不知算法系列之集结基础算法思想
- C++不知算法系列之高精度数值的加、减、乘、除算法
- C++ 不知算法系列之初识动态规划算法思想
- C++ 不知算法系列之深入动态规划算法思想
- C++不知算法系列之排序从玩转冒泡算法开始
- C++ 不知算法系列之从希尔、归并排序算法中的分治哲学聊起
- C++ 数学与算法系列之认识格雷码
- C++数学与算法系列之排列和组合
- C++数学与算法系列之初等数论
- 不背锅运维:云原生下的CICD-3件套快速搭建合集:jenkins+harbor+gitlab