系统日志管理

it2022-05-05  274

rsyslog 此服务是采用系统日志的,不生产日志,只采集日志的信息

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 内核 lpr 打印 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 编辑rsyslog.conf 55行左右 *.* /var/log/westos

第一个‘*‘代表所有的日志类型,第二个代表所有的日志级别

测试: systemctl restart rsyslog systemctl restart sshd 用这条命令生成日志 cat /var/log/westos 查看日志中出现的日志信息

3. 日志的远程同步 在日志发送方:

vim /etc/rsyslog.conf *.* @172.25.254.103

"@“表示udp协议发送,”@@"表示tcp协议发送。udp较tcp速度快,udp发送只管发不管收没有反馈,tcp发送需要接收反馈信息,确保一定能接受。 systemctl restart rsyslog 重启使设置生效

在日志接收方:

vim /etc/rsyslog.conf 15 $Modload imudp 日志接收模块 16 $UDPSereveRun 514 开启接收端口

systemctl restart rsyslog 重启日志采集文件使更改生效 systemctl stop firewalld 关闭火墙 systemctl disable firewalld 设定火墙开机关闭

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

> /var/log/messages

在日志发送方:

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

在日志接收方:

cat /var/log/messages

日志采集格式的设定

vim /etc/rsyslog.conf(在哪台主机看日志信息,就在哪台主机编辑)

在RULES下编辑内容(46行)

$template LOGFMT , "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

%timegenerated% 显示日志时间 %FROMHOST-IP% 显示主机ip %syslogtag% 日志记录目标 %msg% 日志内容 \n 换行 *.* /var/log/westos;LOGFMT 在指定日志中采用LOGFMT格式

$ActionFileDefaultTemplate LOGFMT 修改系统默认日志采集格式为LOGFMT systemctl restart rsyslog 重启rsyslog使编辑内容生效 cat /var/log/westos

时间同步服务 服务名称 : chronyd 在服务端: vim /etc/chrony.conf

22 allow 172.25.254.0/24 允许哪些客户端来同步本机时间 29 local stratum 10 本机不同步任何主机的时间,本机作为时间源

systemctl restart chronyd 重启chronyd服务使改变生效

在客户端: vim /etc/chrony.conf

server 172.25.254.103 iburst 本机立即同步103主机的时间 systemctl restart chronyd

测试: 在客户端

date 11111111 修改当前主机时间为11月11日11点11分 chronyc sources -v 即可同步时间(先修改客户端时间不与服务端同步)

timedatectl命令

timedatectl 管理系统时间 timedatectl status(=timedatectl) 显示当前时间信息

set-time 设定当前时间

set-timezone 设定当前时区 set-local-rtc 0|1 设定是否使用utc时间 list-timezone 查看支持的所有时区

例:设定当前时区为亚洲上海 journal

1.journalctl 日志查看工具

-n 3 查看最近三条日志 -p err 查看错误日志 -o verboes 查看日志的详细参数 --since 查看从什么时间开始的日志 --until 查看到什么时间为止的日志

例:查看最近三条日志及错误日志

2.如何使用systemctl-journald保存系统日志 默认systemctl-journald是不保存系统日志到硬盘的 那么关机后再次开机只能看到本次开机之后的日志 上一次关机之前的日志是无法查看的 例:开机前的日志

reboot之后再次查看日志,只有重启以后的

mkdir /var/log/jouranl 创建一个jouranl目录 chgrp systemd-journal /var/log/jouranal 改变jouranl的所有组为 systemd-journal chmod g+s /var/log/journal 在journal的所有组权限上加s killall -1 systemd-journald 重新加载所有的systemd-journald进程 ls /var/log/journal 946cb0e817ea4adb916183df8c4fc817


最新回复(0)