系统日志管理

it2022-05-05  157

#####系统日志管理####### ###1.rsyslog##### 此服务是用来采集系统日志的,他不产生日志,他不产生日志,只是起到采集作用

###2.rsyslog#### /var/log/messages ##服务信息日志 /var/log/secure ##系统登录日志 /var/log/cron ##定时任务日志 /var/log/maillog ##邮件日志 /var/log/boot.log ##系统启动日志

指定日志采集日志

什么类型的日志.什么级别的日志 /var/log/file ##日志采集规则

##日志类型分为: auth ##pam产生的日志 authpriv ##ssh,ftp等登录信息的验证信息 cron ##时间任务相关 kern ##内核 mail ##邮件 mark(syslog)-rsyslog ##服务内部的信息,时间标识 news ##新闻组 user ##用户程序产生的相关信息 uucp ##unix to unix copy ,unix主机之间相关的通讯 local 1-7 ##自定义的日志设备

##日记的级别分为: debug ##有调试信息的,日志信息最多 info ##般信息的日志,最常用 notice ##最具有重要性普通条件的信息 warning ##警告级别 err ##错误级别,阻止某个功能或者模块不能正常工作的信息 crit ##严重级别,阻止整个系统或者整个软件不能正常工作的信息 alert ##需要立刻修改的信息 emerg ##内核崩溃等严重信息 none ##什么都不记录

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

#操作示例: 目的:把系统中的日志采集到/var/log/westos文件中

操作:vim /etc/rsyslog.conf

加入*.*/var/log/westos

systemctl restart rsyslog

测试:systemctl restart sshd ##目的为了生成日志 cat /var/log/westos ##此文件中出现了日志信息

3.日志的远程同步 在日志的发送方:vim /etc/rsyslog.conf,然后

*.* @172.25.254.215 重启服务 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190719205509644.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190719205518253.png)

在日志的接受方:

vim /etc/rsyslog.conf,将15行和16行的注释去掉 15$ModLoad imudp ##日志接收模块 16$UDPServerRun 514 ##开启接收端口

systemctl restart rsyslog ##重启rsyslog服务 systemctl stop firewalld ##关闭火墙 systemctl disable firewalld ##设定火墙开机关闭

测试在发送方和接收方都清空日志文件

‘’> /var.log/messages‘’

在日志的发送方

logger test cat /var/log/messages ##查看日志已生成 在接收方查看

######日志采集格式的设定###### 此实验在实现远程同步基础上进行 在日志的接受方server端,进行采集日志格式的设置,在rules下,设置采集格式

vim /etc/rsyslog.conf $Template LOGFMT, “%timegenerated% %FROMHOST-IP % %syslogtag% %msg%\n” %timegenerated% ##显示日至时间 %FROMHOST% ##显示主机ip %syslogtag% ##日志记录目标 %msg% ##日志内容 \n ##换行。

*.* /var/log/westos;LOGFMT ##在日志中采用LOGFMT格式 $ActionFileDefaultTemplate LOGFMT ##修改系统默认日志采集格式为LOGFMT cat /var/log/westos

###########时间同步服务############ 服务名称 chronyd

###在服务器端#####

vim /etc/chrony.conf 22 allow 172.25.254.0/24 #允许那些客户端来同步本机时间 29 local stratum 10 ##本机不同步任何主机的时间,本机作为时间源

systemctl restart chronyd

#测试 #在客户端

[root@foundation~]# chronyc sources -v 出现* ip就说明成功了

在客户端和服务端分别输入date发现,时间同步。

#####timedatectl命令#######

timedatectl ##管理系统时间

timedatectl status ##显示当前时间信息

timedatectl set-time ##设定当前时间

timedatect set-timezone ##设定当前时区

timedatectl set-local-rtc 0|1 设定是否使用utc时间 vim /etc/adjtime 0使用utc,1不使用utc list-timezones ##查看支持的所有时区

#####journal###### 1.journalctl ##日志查看工具

journalctl -n 3 ##查看最近3条日志 journalctl -p err ##查看错误日志 journalctl -verbose ##查看日志详细参数 journalctl --since ##查看从什么时间开始的日志

journalctl --until ##查看到什么时间为止的日志

journalctl --since --until查看一个时段的日志

2.如何使用systemd-journald保存系统日志 默认systemd-journald是不保存系统日志到硬盘的 那么那么关机后再次开机只能看到本次开机之后的日志 上一次关机之前的日志是无法查看的 经过设定,我们可以永久保存系统日志到硬盘 在硬盘创建一个区域,专门存放journal采集日志(只能查看之前日志)

mkdir /var/log/journal

chgrp system-journal /var/log/journal 系统初始化程序控制这个日志,改这个文件的所有组为systemd-journal 这样系统就能识别这个文件了,把这个文件放入这个组,让组控制这个文件

chmod g+s /var/log/journal 改这个文件的权限,是这个文件的systemd-journal组都能查看这个日志

killall -1 systemd-journald(重新加载配置不会关闭进程)

reboot------>ls /var/log/journal

重启后可以看到之前关机之前的日志。成功。

内存里面的东西都是开机后才有的 只有硬盘的文件才可以永久保存 采集的日志放到了硬盘里面

最新回复(0)