系统日志管理

1.rsyslog

此服务是用来采集系统日志的,不生产日志,只是起到采集作用

2.rsyslog的管理

目录

日志

/var/log/messages

服务信息日志

/var/log/secure

系统登陆日志

/var/log/cron

定时任务日志

/var/log/maillog

邮件日志

/var/log/boot.log

系统启动日志

指定日志采集路径

vim /etc/rsyslog.conf 此文件内容如下图

linux怎么dump java 日志 linux dump日志如何收集_日志文件

格式:

什么类型的日志.什么级别的日志              /var/log/file

日志类型

注释

auth

pam产生的日志

authpriv

ssh,ftp等登陆信息的验证信息

cron

时间任务相关

kern

内核

lpr

打印

mail

邮件

mark(syslog)-rsyslog

服务内部的信息,时间标识

news

新闻组

user

用户程序产生的相关信息

uucp

unix to unix copy,unix主机之间的通讯

local1~7

自定义的日志设备

日志级别

注释

debug

有调试信息的,日志信息最多

info

一般信息的日志,最常用

notice

具有重要性的普通条件的信息

warning

警告级别

err

错误级别,阻止某个功能或者模块不能正常工作的信息

crit

严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert

需要立刻修改的信息

emerg

内核崩溃等严重信息

none

什么都不记录

注意:
从上到下,级别从低到高,记录的信息越来越少
详细的可以查手册:man 3 syslog

3.日志的远程同步

在日志发送方:

vim   /etc/rsyslog.conf
*.*        @172.25.254....    ("@"表示udp协议,"@@"表示tcp协议)
systemctl  restart  rsyslog
systemctl  stop  firewalld    ##关闭防火墙

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_02

在日志的接收方

vim  /etc/rsyslog.conf
15  $Modload imudp            ##日志接收模块
16  $UDPserverRun 514         ##开启接收端口
systemctl  restart  rsyslog
systemctl  stop  firewalld    ##关闭防火墙

linux怎么dump java 日志 linux dump日志如何收集_日志文件_03


(删掉15,16行的注释号)

测试:
在发送方和接收方都清空日志文件> /var/log/messages

在日志的发送方
logger test

cat /var/log/messages 查看日志已经生成

在日志的接收方查看cat /var/log/messages

如图下所示,则日志传输成功

linux怎么dump java 日志 linux dump日志如何收集_vim_04

4.日志采集格式的设定

打开配置文件vim /etc/rsyslog.conf 在文件中写入:
$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

写入内容

注释

%timegenerated%

显示日志时间

%FROMHOST-IP%

显示主机ip

%syslogtag%

日志记录目标

%msg%

日志内容

\n

换行

*.*               /var/log/westos;LOGFMT
                                    ^
                            在此处添加和上面一样的名称

然后使用cat /var/log/westos命令查看日志内容

例如:

让日志只显示时间和ip,并且中间用 “|” 隔开

linux怎么dump java 日志 linux dump日志如何收集_系统日志_05

时配置文件生效并且清空日志文件

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_06

查看日志文件,内容为时间和ip,并且中间也是用 “|”分隔

linux怎么dump java 日志 linux dump日志如何收集_系统日志_07

5.时间同步服务

服务名称chronyd

在服务端

vim /etc/chrony.conf 对文件的第22行以及29行进行更改,22行为允许的ip,29行为优先度

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_08

使更改生效

linux怎么dump java 日志 linux dump日志如何收集_系统日志_09

在客户端

vim /etc/chrony.conf 在第3行写入服务端的ip,后面加iburst是立即生效的意思

linux怎么dump java 日志 linux dump日志如何收集_日志文件_10


使更改生效

linux怎么dump java 日志 linux dump日志如何收集_系统日志_11

在客户端输入chronyc sources -v进行查看,下放出现服务端ip,时间同步成功

linux怎么dump java 日志 linux dump日志如何收集_日志文件_12

6.timedatectl命令

命令timedatectl 管理系统时间

参数

注释

status

显示当前时间信息

set-time

设定当前时间

set-timezone

设定当前时区

set-local-rtc 0/1

设定是否支持utc时间, 0为使用,1为不使用

list-timezone

查看支持的所有时区

7.journal

1)
命令journalctl 日志查看工具

参数

注释

-n 3

查看最近3条日志

-p err

查看错误日志

-o vervosr

查看日志的详细参数

- -since

查看从什么时间开始的日志

- -until

查看到什么时间为止的日志

查看最近3条日志

linux怎么dump java 日志 linux dump日志如何收集_日志文件_13


查看错误日志

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_14


查看日志的详细参数

linux怎么dump java 日志 linux dump日志如何收集_系统日志_15


查看主机名为localhost,pid为87的日志

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_16

2)
如何使用systemctl-journald保存系统日志
因为系统的日志是不保存的硬盘的,那么关机后再次开机只能看到本次开机之后的日志,上次关机前的日志是无法查看到的

mkidr  /var/log/journal
chgrp  systemd-journal  /var/log/journal
chmod  g+s  /var/log/journal
killall  -1  systemd-journal
ls  /var/log/journal

linux怎么dump java 日志 linux dump日志如何收集_linux怎么dump java 日志_17

设置完毕后重启电脑即可设置成功

注意:日志记录文件会不断增大,所以实验完毕后记得删除该文件