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产生的日志
mail 邮件
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 : 共享时间源
时间源的级别(优先级)

Linux系统中的日志管理

测试:

在客户端

[[email protected]_ssh ~]# date 11111111 ##修改客户端时间

Mon Nov 11 11:11:00 EST 2019

Linux系统中的日志管理

  • 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