标签:global 分析 facility 报警 lang 存放位置 日期 拍错 不清楚
rsyslog
httpd/nginx/mysql
: 各类应用程序,可以以自己的方式记录日志
Rsyslog
是处理系统相关日志的进程
rsyslog
rsyslog
可以处理绝大部分日志记录,比如系统操作有关信息,如登录信息,程序的启动关闭信息
[root@CatdeXin-PC ~]# ps -aux | grep rsyslog
root 1297 0.0 0.3 222764 7292 ? Ssl 2月21 0:07 /usr/sbin/rsyslogd -n
rsyslogd = rsyslog deamon(守护进程)
/var/log/
目录是系统绝大多数日志的存放位置
/var/log/messages # 系统主日志文件
/var/log/secure # 认证,安全,登录相关日志
/var/log/cron # crond,at计划任务进程产生的日志
/var/log/dmesg # 系统启动相关进程
/var/log/yum.log # yum相关日志
tail /var/log/messages # 查看最新日志
tail -f /var/log/messages # 动态查看最新日志 (tail -f 可以简写为 tailf)
-------
# 了解内容
/var/log/audit/audit.log # 系统审计日志
/var/log/mysqld.log # MySQL日志
/var/log/xferlog # 和访问FTP服务器相关日志
/var/log/wtmp # 当前登录的用户(快捷命令: w)
/var/log/btmp # 最近登录的用户(快捷命令: last)
/var/log/lastlog # 所用用户的登录情况(快捷命令: lastlog)
rsyslogd
配置rsyslogd
软件是默认被安装的状态 如果你的系统rsyslogd
有问题 可以尝试重新安装
yum install rsyslog logrotate
启动程序
systemctl start rsyslog.service
[root@CatdeXin-PC ~]# rpm -q rsyslog
rsyslog-8.24.0-55.el7.x86_64
[root@CatdeXin-PC ~]# rpm -qc rsyslog
/etc/logrotate.d/syslog
/etc/rsyslog.conf
/etc/sysconfig/rsyslog
# -q 查询版本号
# -c 配置文件 config 只能放在q后面使用
/etc/rsyslog.conf # rsyslog主配置文件(关键)
/etc/sysconfig/rsyslog # rsyslogd相关文件,定义级别(了解)
/etc/logrotate.d/syslog # 和日志轮转(切割)相关(任务二)
vim /etc/rsyslog.conf
告诉rsyslog
进程什么日志,应该存放在哪里
主配置文件分为三大段
MODULES
模块
GLOBAL DIRECTIVES
全局指令
RULES
规则
rules 即规则,是一套生成日志 以及存储日志的策略
规则由设备 + 级别 + 存放位置组成
存储
# Rules由设备,级别,存放位置(Facility.Level LogFilePath)组成 *代表所有
authpriv.* /var/log/secure(认证设备)
mail.* -/var/log/maillog
cron.* /var/log/cron
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# mail.none ---》 none 是排除的意思 不降mail的日志信息写入该文件
```
Facility&Level
系统会将不同软件归属于几种类型的软件,然后集中存放日志
facility
设备类型
# 了解内容
LOG_SYSLOG # syslogd自身产生的日志
LOG_AUTHPRIV # 安全认证
LOG_CRON # 调度程序(cron and at)
LOG_MAIL # 邮件系统(mail subsystem)
LOG_USER() # 用户相关
LOG_DAEMON # 后台进程
LOG_FTP # ftp文件服务器
LOG_KERN # 内核设备
LOG_LPR # 打印机相关设备
LOG_LOCAL0 through LOG_LOCAL7 # 用户自定义设备
程序类型示例
LOG_EMERG # 紧急,致命,服务无法继续运行,如配置文件缺失丢失
LOG_ALERT # 报警,需要立即处理,如磁盘空间使用95%
LOG_CRIT # 致命行为
LOG_ERR # 错误行为
LOG_WARNING # 警告信息
LOG_NOTICE # 普通 重要的标准信息
LOG_INFO # 标准信息
LOG_DEBUG # 调试信息,拍错所需,一般不建议使用
Rsyslog RULES
配置# 修改配置文件时 备份一下原有的配置 最好在加一下注释
# authpriv.* /var/log/secure
# 2020-12-24-nayue-testing
authpriv.* /var/log/test
# 修改了配置文件之后 如何让程序重新加载配置文件呢 这里有三种方式
# 重启系统 --> 服务器不可以随意重启 该改法不允许使用
# 重启进程 --> 重启进程的过程中会漏掉一些日志 不建议使用
# > systemctl restart rsyslogd
# 重新加载文件 --> 推荐使用方法 在不结束进程的前提下 重新加载配置文件
# > kill -1 ProcessID
[root@CatdeXin-PC ~]# ps -aux | grep rsyslogd
root 1204 0.0 0.3 216400 6568 ? Ssl 2月23 0:10 /usr/sbin/rsyslogd -n
root 64362 0.0 0.0 112828 980 pts/0 S+ 09:43 0:00 grep --color=auto rsyslogd
[root@CatdeXin-PC ~]# kill -1 1204
# 修改配置之后无法生效 可能有两种原因
# > 没有日志产生 所以没有文件产生
# > 配置信息没有装载成功
logrotate
日志记录了程序运行的信息,通过日志可以分析用户行为,记录运行轨迹,查找程序问题。但是磁盘是有限的,日志轮转就像飞机里的黑匣子,记录信息再重要也只能记录最后一段时间发生的事,为了节省空间和整理方便,日志文件经常按时间或大小等维度分成多份,删除时间久远的日志文件
主文件夹
/etc/logrotate.conf (决定每个日志文件如何轮转)
/etc/logrotate.d/* (子配置文件 自定义 方便管理)
# 程序的运行需要主配置文件 配置的时候建议修改子配置文件
/etc/logrotate.conf
# 通用配置
weekly # 按周轮转
rotate 4 # 保留4份日志文件
create # 轮转后创建新文件
dateext # 使用日期作为后缀
#compress # 是否压缩
include /etc/logrotate.d # 包含该目录下的子配置文件 启动轮转时 也去该目录读一下配置文件
# 专有配置
/var/log/wtmp { # 对某日志文件设置轮转的方法
monthly # 每月一次
create 0664 root utmp # 轮转后创建新文件,并设置权限
minsize 1M # 最小达到1M才轮转 monthly and minsize
rotate 1 # 保留一份
}
/var/log/btmp {
missingok # 丢失不提示
monthly
create 0600 root utmp
rotate 1
}
# 没有针对配置的程序 按照通用配置来执行
/etc/logrotate.d/yum
/var/log/yum.log {
missingok # 丢失不提示 不执行
notifempty # 如果日志文件为空,不做rotate
maxsize 30k # 最大30k
# yearly # 一年一轮转
# daily # 天轮转
create 0600 root root
}
# 注释掉轮转时间 将停止时间轮转
不清楚有什么用
# 调用系统中的logrotate工具 手动读取配置 手动轮转
/usr/sbin/logrotate /etc/logrotate.conf
# 调用系统中的logrotate工具 按照logrotate.status 执行logrotate.conf配置
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
# data 指令可以查看当前时间 也可以修改系统时间
[root@CatdeXin-PC ~]# date
2021年 02月 24日 星期三 15:12:17 CST
[root@CatdeXin-PC ~]# date 02280100
2021年 02月 28日 星期日 01:00:00 CST
标签:global 分析 facility 报警 lang 存放位置 日期 拍错 不清楚
原文地址:https://www.cnblogs.com/CatdeXin/p/14452689.html