1.系统默认日志分类
/var/log/messages 系统服务及日志,包括服务的信息,报错等等
/var/log/secure 系统认证信息日志
/var/log/maillog 系统邮件服务信息
/var/log/cron 系统定时任务信息
2.日志管理文件
日志类型
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 一 般信息的日志,最常用
notice 最具有重要性的普通条件的信息
warning 警告级别
err 错误级别,阻止某个功能或者模块不能正常工作的信息
crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert 需要立刻修改的信息
emerg 内核崩溃等严重信息
none 什么都不记录
日志级别从上到下,越来越高,记录的内容越来越少,越来越重要。
连接符号:
.xxx: 表示大于等于xxx级别的信息
.=xxx: 表示等于xxx级别的信息
.!xxx: 表示在xxx之外的等级的信息
配置文件
日志的主配置文件为/etc/rsyslog.conf
存放格式 :服务.日志级别 存放文件
如:.*. /var/log/client
表示将所有类型的所有日志保存到/var/log/client文件内。
3.同步日志
在日志的实际使用中,经常需要对多台主机进行管理,为了方便管理,就需要进行日志的同步。
同步日志需要对发送方和接受方都进行配置。
发送方
vim /etc/rsyslog.conf
写入要发送的日志类型和级别,要发往的主机ip。
关闭防火墙
配置完成后,重启服务。
systemctl restart rsyslog
接受方
vim /etc/rsyslog.conf
将注释去掉
重启服务
systemctl restart rsyslog
测试:
清空接受方的/var/log/messages
发送方
接受方
同步日志的采集格式
在管理多台主机时,日志默认格式显示主机名来区分日志来源对管理员来说并不友好,所以需要管理员按照自己的需求来改变日志的采集格式。
vim /etc/rsyslog.conf
%timegenerated% ##显示日志时间
%FROMHOST-IP% ##显示主机ip
%syslogtag% ##日志记录目标
%msg% ##日志内容
\n ##换行
测试:
改变接受方默认日志采集格式
发送方
接受方
时间同步
服务端:
修改配置文件并重启服务
vim /etc/chrony.conf
systemctl restart chronyd.service
修改22行,允许192.168.1网段内所有主机同步当前主机时间,29行服务开启。
客户端:
vim /etc/chrony.conf
systemctl restart chronyd.service
3.设置系统时间
timedatectl ##管理时间系统
timedatectl status ##显示当前时间信息
set-time ##设定当前时间
set-timezone ##设定当前时区
set-local-rtc 0 | 1 ##设定是否使用utc时间
list-timezoe ##查看支持的所有时区
查看当前系统所有时区
更改当前时区为上海
设定使用硬件时间
与上图比较,RTC变为当前时间
4.journal
传统日志都由系统采集并保存到磁盘,现在慢慢发展为systemed-journald服务接管日志收集的任务。
查看全部日志
查看报错日志
journalctl -p err
查看日志详细信息
journalctl -o verbose
journal保存的日志断电后会丢失,也就是,它只保存本次开机后产生的日志。所以我们需要一个断电保存的方法,也就是将它保存到硬盘。
步骤:
1.建立journal文件 ##mkdir /var/log/journal
2.添加组成员 ##chgrp systemd-journal /var/log/journal/
3.设置任何文件都属于组 ##chmod g+s /var/log/journal
4.查看进程PID ##ps aux | grep systemd-journa
5.重置进程 ##kill -1 363
journal日志默认保存在/run/log/journal下,断电就会被清除
将它保存在/var/log/journal,就可以永久保存。