首页 > 代码库 > 系统日志
系统日志
第十章 系统日志
系统默认设置分类
/var/log/messages /*系统服务及日志,包括服务的信息,报错等等
/var/log/secure /*系统认证信息日志
/var/log/maillog /*系统邮件服务信息
/var/log/cron /*系统定时任务信息
/var/log/boot.log /*系统启动信息
日志管理服务
1.rsyslog负责采集日志和分类存放日志
2.rsyslog日志分类
vim /etc/rsyslog.conf /*主配置文件
服务.日志级别 /存放文件
*.* /var/log/westos
systemctl restart rsyslog
**格式
日志设备(类型).(连接符号)日志级别 日志处理方式(action)
**日志设备(可以理解为日志类型):
auth /*pam产生的日志
authpriv /*ssh,ftp等登录信息的验证信息
cron /*时间任务相关
kern /*内核
lpr /*打印
mail /*邮件
mark(syslog)-rsyslog /*服务内部的信息,时间标识
news /* 新闻组
user /*用户程序产生的相关信息
uucp /*unix to unix copy,unix主机之间相关通讯
local 1~7 /*自定义的日志设备
**日志级别
debug /*有调试信息的,日志信息最多
info /*一般信息的日志,最常用
warning /*警告级别
notice | /*最具有重要性的普通条件的 |
err /*错误级别,阻止某个功能或者模块不能正常工作的信息
crit /*严重级别,组织整个系统或者整个软件不能正常工作的信息
alert /*需要立刻修改的信息
emerg /*内核崩溃等严重信息
none /*什么都不记录
备注:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册:man 3 syslog
**连接符号
.xxx:代表大于等于xxx级别的信息
.=xxx:表示等于xxx级别的信息
.!xxx:表示在xxx之外的等级的信息
**实例
记录到普通文件或者设备文件::
*.* /var/log/file.log /*绝对路径
*.* /dev/pts/0
测试:logger -p local3.info ‘kadefor is testing the rsyslog and logger ‘ logger用于产生日志
发送给用户(需要在线才能收到)
*.* root
*.* root,kadefor,up01 /*使用,号分割多个用户
*.* * /* *号表示所有在线用户
忽略,丢弃
local3.* ~ /*忽略所有local3类型的所有级别日志
执行脚本::
local3.* ^/tmp/a.sh /*^号后个可执行脚本或者程序的绝对路径
/*日志内容可以作为脚本的第一个参数。
/*可用来出发报警
**日志同步
systemctl stop firewalld /*关闭两台主机的火墙
配置日志发送方
*.* @172.25.0.11 通过udp协议八日至发送到11主机,@upd,@@tcp
配置日志接收方
15 $ModLoad imudp /*日志接受插件
16 $UDPserverRun 514 /*日志接受插件使用端
netstat -anulpe | grep rsyslog
> /var/log/messages /*两边都做
logger test messages /*日志发送方
tail -f /var/log/messages /*日志接收方
**日志采集格式
$template WESTOS,"%timeqenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
%timeqenerated% /*时间
%FROMHOST-IP% /*ip
%syslogtag% /*
%msg% /*日志
\n /*换行
$ActionfileDefaultTemplate WESTOS /*定义消息转发模式,实用系统默认模式
*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS
**日志分析工具journal
systemd-journald /*进程名称
journalctl /* 直接执行,浏览系统日志
-n 3 /*显示最近3条
-p err /*显示报错
-f /*监控日志
--since --until /*--since “【YYYY-MM-DD】【hh:mm:ss】”从什么时间到什么时间的日志
-o verbose /*显示日志能够使用的详细进程参数
/*_SYSYEMD_UNIT=sshd.service服务名称
/*_PID=1182进程pid
对systemd-journald管理
默认情况下此程序会忽略重启前的日志信息,如不忽略
mkdir /var/log/journal
chown root:systemd-journal /var/log/journal
chmod 2755 /var/log/journal
killall -USR1 systemd-journald
ls /var/log/journal
系统日志