Linux系统中的日志管理
一、
1.rsyslog的管理 :
- 此服务是用来采集系统日志的。他不产生日志,只是起到采集作用
/var/log/messages
: 服务信息日志/var/log/secure
: 系统登陆日志/var/log/maillog
: 邮件日志/var/log/boot.log
: 系统启动日志
指定日志采集路径 :
什么类型的日志.什么级别的日志 /var/log/file
#日志
采集规则 :
日志类型分为:
日志类型 | 含义 |
---|---|
authpriv | ssh,ftp等登录信息的验证信息 |
kern | 内核 |
cron | 时间任务相关 |
lpr | 打印 |
auth | pam产生的日志 |
邮件 | |
mark(syslog)-rsyslg | 服务内部的信息,时间标识 |
news | 新闻组 |
user | 用户程序产生的相关信息 |
uucp | unix to unix copy,unix主机之间相关 |
local 1~7 | 自定义的日志设备 |
日志级别分类 | 含义 |
---|---|
debug | 有调试信息的,日志信息最多 |
info | 一般信息的日志,最常用 |
notice | 最具有重要性的普通条件的信息 |
warning | 警告级别 |
err | 错误级别,阻止某个功能或者模块不能正常工作的信息 |
crit | 严重级别,组织某个系统或者整个软件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 内核崩溃等严重信息 |
none | 什么都不记录 |
注意: | 从上到下,级别从低到高,记录的信息越来越少,详细可查看手册:man 7 syslog
|
2.日志的远程同步
插件:实现功能的小程序(模块)
在日志发送方:
vim /etc/rsyslog.conf
编辑 : * . * @172.25.254.235
“@”表示udp协议发送, “@@” 表示 tcp 协议发送
systemctl restart rsyslog 重启日志
在日志接收方:
vim /etc/rsylog.conf
15 $ModLiad imudp
: 日志接收模块
16 $UDPServerRun 514
: 开启接收端口
systemctl restart rsyslog 重启日志
关闭火墙:
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##设定火墙开机关闭
测试:
在发送方和接收方都清空日志文件 :
> /var/log/messages
在日志的发送方:logger test
日志接收方:cat /var/log/messages
3.日志采集格式的设定
vim /etc/rsyslog.conf
$template HELLO, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n "
%timegenerated% ## 显示日志时间
%FROMHOST-IP% ## 显示主机ip
%syslogtag% ## 显示记录目标
%msg% ## 日志内容
\n ## 换行
*.info;mail.none;authpriv.none;cron.none
/var/log/messages;HELLO
cat /var/log/messages
二.时间同步服务
服务名称:chronyd
:设定时间源
local stratum 10 : 共享时间源
时间源的级别(优先级)
测试:
在客户端
[[email protected]_ssh ~]# date 11111111
##修改客户端时间
Mon Nov 11 11:11:00 EST 2019
- utc时间计算方式:世界时间+时区
6.timedatectl 命令
timedatectl ##管理系统时间
timedatectl status ##显示当前时间信息
timedatectl set-timezone "Asia/Shanghai" ##设置当前时区
timedatectl set-time "2019-01-15 11:25:00" ##设置当前时间
timedatectl set-local-rtc 0/1 ##设置是否使用utc时间
timedatectl list-timezones ##查看支持的时区
vim /etc/adjtime
三、journalctl 内存中的日志
1.journalctl : 日志查看工具
journalctl -n 5 查看最近5条日志
journalctl -p err 查看错 误日志
journalctl -o verbose 查看日志的详细参数
journalctl _PID=84 _COMM=systemd-journal
journalctl --since "09:25" 查看从9:25开始的日志
journalctl --until "09:28" 查看到9:28为止的日志
2.如何使用systemd-journald保存系统日志 :
默认systemd-journald
是不保存系统日志到硬盘的,
那么关机后再次开机只能看到本次开机之后的日志
(上一次关机之前的日志是无法查看的)
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
ls /var/log/journal
killall -l systemd-journald
[[email protected]_sshd ~]# ls /var/log/journal
946cb0e817ea4adb916183df8c4fc817