一、系统日志管理
1.rsyslog
此服务时用来采集系统日志的,他不产生日志,只是起到采集作用
2.rsyslog的管理(各个日志文件的存储内容)
/var/log/messages ##服务信息日志
/var/log/secure ##系统登陆日志
/var/log/cron ##定时任务日志
/var/log/maillog ##邮件日志
/var/log/boot.log ##系统启动日志
(1)指定日志采集路径
什么类型的日志,什么级别的日志
/var/log/file ##日志采集规则
(2)日志类型分为:
auth | pam产生的日志 |
---|---|
authpriv | ssh,ftp等登陆信息的验证信息 |
corn | 时间任务相关 |
kern | 内核 |
lpr | 打印 |
邮件 | |
mark(syslog)-rsyslog | 服务内部的相关信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | nuix to unix copy,unix主机之间相关的通讯 |
local | 自定义的日志设备 |
(3)日志级别分为:
debug | 有调试信息的,日志信息最多 |
---|---|
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或者模块不能正常工作的信息 |
crit | 严重级别,阻止整个系统或者整个软件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册:man 3 syslog
3.日志的远程同步
(1)在日志的发送方
vim /etc/rsyslog.conf
* .* @172.25.254.107 ##将客户端所有信息发送到服务端
##'@'表示udp协议发送,‘@@’表示tcp协议发送
systemctl restart rsyslog ##重启日志服务
(2)在日志接收方查看
vim /etc/rsyslog.conf
$ModLoad imudp ##日志接受模块
$UDPServerRun 514 ##开启接受端口
systemctl restart rsyslog ##重启日志服务
(3)在发送方和接受方都关闭火墙:
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机不自动启动
cat /var/log/messages ##查看日志信息
(4)测试
>/var/log/messages ##清空发送方和接收方的日志文件
logger test ##(logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。)
cat /var/log/messages ##查看日志已经生成
在日志接受方查看:
cat /var/log/messages
4.日志采集格式的设定
vim /etc/rsyslog.conf
$template LOGFMT(注:日志采集格式名称), “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”
%timegenerated% | 显示日志时间 |
---|---|
%FROMHOST-IP% | 显示主机ip |
%syslogtag% | 日志记录目标 |
%msg% | 日志内容 |
\n | 换行 |
* .info;mail.none;authpriv.none;cron.none /var/log/westos;LOGFMT ##在vim中编辑
cat /var/log/westos ##查看日志相关内容
二、系统时间管理
1.时间同步服务
服务名称:chronyd
##在服务端:
vim /etc/chrony.conf
22行: allow 172.25.154.0/24 ##允许那些客户端来同步本机时间
29行: local stratum 10 ##本机不同步任何主机的时间,本机作为时间源(时间源的优先级为10)
systemctl restart chronyd.service ##重启服务
systemctl stop firewalld ##关闭火墙
timedatectl set-timezone Asia/Shanghai ##更改当前时区为东8区
##在客户端:
vim /etc/chrony.conf
server 172.25.254.200 iburst ##本机立即同步200主机的时间(iburst立即更改)
systemctl restart chronyd.service ##重启服务
##测试:
#在客户端
【root@foundatio39 ~】#chronyc sources -v
210 Number of sources = 1
utc时间计算方式:世界时间+时区
date+时间 修改客户端的时间
2.timedatectl命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
timedatectl set-time ##设定当前时间
timedatectl set-timezone ##设定当前时区
timedatectl set-local-rtc 0|1 ##设定是否使用utc时间
(vim /etc/adjtime)
timedatectl list-timezone ##查看支持的所有时区
三、查看内存中的日志
1.
日志查看工具:journalctl
journalctl -n 3 ##查看最近3条日志
journalctl -p err ##查看错误日志
journalctl -o verbose ##查看日志的详细参数
journalctl _PID=85 ##查看_PID=85的日志
journalctl –since “**: **" ##查看从什么时间开始的日志
journalctl –until " **: **” ##查看到什么时间为止的日志
2.如何使用systemd-journald保存系统日志
默认systemd-journald是不保存系统日志到硬盘的
那么关机后再次开机只能看到本次开机之后的日志
上一次关机之前关机之前的日志是无法查看的
使用下列命令可以保存系统日志(一般情况下不建议使用)
mkdir /var/log/journal
chgrp system-journal /var/journal
chmod g+s /var/log/journal
killall -1 system-journald
ls /var/log/journal ##第一次查看
stat /var/log/journal/946cb0e817ea4adb916183df8c4fc817
reboot ##重启虚拟机
ls /var/log/journal ##再次查看(重启之前的日志也在)
stat /var/log/journal/946cb0e817ea4adb916183df8c4fc817