Linux学习-rsyslog

日志

记录系统活动信息的文件,记录系统在什么时候由哪个进程做了什么样的操作。

Linux常用日志文件
#开机启动的时候系统内核会去检测与启动硬件,接下来启动各种内核支持的功能,这些信息会记录在以下文件,只记录本次开机启动的信息
[root@base ~]# tail /var/log/boot.log
#查看文件日志动态显示追加信息
[root@base ~]# tail -f /var/log/messages
#安全日志
[root@base ~]# tail /var/log/secure
#yum日志
[root@base ~]# tail /var/log/yum.log
#邮件日志postfix
[root@base ~]# tail /var/log/maillog
#和系统启动有关
[root@base ~]# tail /var/log/dmesg
#任务计划crond、at进程产生的日志
[root@base ~]# tail /var/log/cron
#所有用户的登录情况
[root@base ~]# tail /var/log/lastlog
#对应命令
[root@base ~]#lastlog   
#最近登录的用户
[root@base ~]# tail /var/log/btmp
#对应命令
[root@base ~]# last
#记录正确登录系统者的账户信息
[root@base ~]# tail /var/log/wtmp
#当前登录的用户
[root@base ~]# w
 19:17:10 up  1:01,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.88.1     18:32    6.00s  0.07s  0.00s w
root     pts/1    192.168.88.1     18:56    8:30   0.03s  0.00s -bash
#审计日志
[root@base ~]# tail /var/log/audit/audit.log
rsyslog

Centos通过rsyslog.service服务来统一管理日志文件

#查看日志进程
[root@base ~]# ps aux | grep rsyslog
root       1236  0.0  0.1 222716  4960 ?        Ssl  17:57   0:00 /usr/sbin/rsyslogd -n
root       1751  0.0  0.0 112704   964 pts/1    S+   18:19   0:00 grep --color=auto rsyslog
#查看日志服务状态
[root@base ~]# systemctl status rsyslog
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-01-25 17:57:04 EST; 23min ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 1236 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           └─1236 /usr/sbin/rsyslogd -n

Jan 25 17:57:04 base systemd[1]: Starting System Logging Service...
Jan 25 17:57:04 base rsyslogd[1236]:  [origin software="rsyslogd" swVersion="8.24.0"...art
Jan 25 17:57:04 base systemd[1]: Started System Logging Service.
Hint: Some lines were ellipsized, use -l to show in full.
#rsyslog配置文件
[root@base ~]# grep -Ev '^(#|$)' /etc/rsyslog.conf 
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
#mail.*                                                  -/var/log/maillog中的
【-】表示异步的方式执行存放,先将信息存储到内存,等积攒到一定量时一起写入磁盘
【*】表示任何级别
【.】代表【比后面还要严重的等级含该等级都被记录下来】,如mail.info表示等级严重于info则进行记录
【.=】代表所需要的等级就是后面接的等级
【.!】代表不等于,除了该等级外的其他等级都记录,一般使用【.】

authpriv表示认证设备(登录,验证,用户添加)
设备类型Facility

系统对某种类型APP事件的定义,用来收集同类程序日志。

	LOG_SYSLOG - syslog自身产生的日志
	LOG_AUTHPRIV - 安全认证设备
	LOG_CRON - 调试程序(cron和at)
	LOG_MAIL - 邮件系统
	LOG_USER - 用户相关
	LOG_DAEMON - 后台进程
	LOG_FTP - 文件服务器ftp_daemon
	LOG_KERN - 内核设备
	LOG_LPR - 打印机设备
	LOG_LOCAL0 through LOG_LOCAL7 -	用户自定义设备
日志级别Level
	LOG_EMERG -	紧急、致命、服务无法继续运行,如配置文件丢失
	LOG_ALERT -	报警,需要立即处理,如磁盘使用95%
	LOG_CRIT - 致命行为
	LOG_ERR - 错误行为
	LOG_WARNING - 警告信息
	LOG_NOTICE - 普通、重要的标准信息
	LOG_INFO - 标准信息
	LOG_DEBUG -	调试信息,排错所需,一般不建议使用
logrotate

logrotate工具来自动化处理日志文件容量和更新,logrotate将旧的日志文件更改名称,然后建立一个空的日志文件,新的文件重新开始记录。
日志:记录了程序运行时的各种信息
通过日志分析用户行为,记录运行轨迹,查找程序问题
可惜磁盘空间有限
日志论战就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事
为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件

#配置文件
#主配置文件:/etc/logrotate.conf
#子配置:/etc/logrotate.d/*
#-----------配置文件参数----------
 # 每周滚动日志
weekly
#保留4份滚动日志
rotate 4
#日志滚动后创建一个新的日志
create
#使用日期后缀
dateext
#是否压缩
compress
/var/log/wtmp {
#一个月轮转一次(其它可用值为'daily','weekly'或者'yearly')
    monthly   
#轮转创建文件,并设置权限,属主属组
    create 0664 root utmp
#最小到达1M才轮转,与monthy是且关系
        minsize 1M
    rotate 1
}
#在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
missingok
#	
在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,rsyslogd 进程将立即再次读取其配置并继续运行。
postrotate/endscript
#空文件也轮转
notifempty
#先把原始文件拷贝一份重命名,然后把原始文件清空
copytruncate
#启动logrotate之前进行的命令
sharedscripts
prerotate
####填写要执行的命令
endscript
#执行完logrotate之后执行的命令
sharedscripts
postrotate
endscript
#-----------配置文件参数----------
配置远程记录日志
#服务器端
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
#打开TCP514端口监听
#Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
#客户端
#在/etc/rsyslog.conf配置文件中添加以下行[服务器监听tcp端口]
*.*                                                    @@192.168.88.102
#服务器监听udp端口
*.*                                                    @192.168.88.102
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值