Linux 系统日志管理

时间:2024-04-09 09:52:09

1.rsyslog             ##此服务是用来采集系统日志的。他不产生日志,只是起到采集作用
2.rsyslog的管理(配置文件/etc/rsyslog.conf)
/var/log/messages         ##服务信息日志
/var/log/secure              ##系统登陆日志
/var/log/cron                  ##定时任务日志
/var/log/maillog             ##邮件日志
/var/log/boot.log           ##系统启动日志

1).指定日志采集路径:

*(什么类型的日志).*(什么级别的日志)  /  (存放到什么文件)     ##日志采集规则

例:*.*             /var/log/messages                    ##将所有类型所有级别的日志存放在/var/log/messages里面

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

3).日志级别分为:
debug                        ##有调式信息的,日志信息最多
info                            ##般信息的日志,最常用
notice                        ##最具有重要性的普遍条件的信息
warning                     ##警告级别
err                              ##错误级别,组织某个功能或者模块不能正常工作的信息
crit                             ##严重级别,组织整个系统或者整个软件不能正常工作的信息
alert                           ##需要立刻修改的信息
emerg                        ##内核崩溃等严重信息
none                          ##什么都不记录
###注意:从上到下,级别从低到高,记录的信息越来越少


3.日志的远程同步
 
在日志发送方:
vim /etc/rsyslog.conf
*.*     @ip             ##”@“表示udp协议发送,”@@“表示tcp协议发送

Linux 系统日志管理

systemctl  restart   rsyslog.service                        ##重启服务

systemctl stop firewalld                                          ##关闭火墙

在日志接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp                 ##日志接收模块
16 $UDPServerRun 514           ##开启接收端口

Linux 系统日志管理

systemctl  restart  rsyslog
systemctl  stop  firewalld          ##关闭火墙
systemctl  disable  firewalld      ##设定火墙开机关闭

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

在日志的发送方
logger xxx

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

Linux 系统日志管理

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

Linux 系统日志管理

排错方法:
1)防火期强是否关闭
2)配置文件是否更改,重启
3)网络是否良好               ping  本主机ip
4)接口是否打开               netstat -antlupe | grep rsyslog  

Linux 系统日志管理


4.日志采集格式的设定
vim /etc/rsyslog.conf

47 $template 格式名称, "%timegenerated% %FROMHOST-IP%  %syslogtag%  %msg%\n"
                                                         ^                              ^                      ^                   ^        ^
                                             显示日志时间           显示主机ip        日志记录目  日志内容 换行

*.*                                     /var/log/messages;格式名称

Linux 系统日志管理

Linux 系统日志管理


5.时间同步服务
服务名称
chronyd

在服务端:
vim /etc/chrony.conf                                ##修改配置文件

22 allow 172.25.254.0/24                         ##允许哪些客户端来同步本机时间

29 local stratum 10                                 ##本机不同步任何主机的时间,本机作为时间源

Linux 系统日志管理

systemctl restart chronyd                                  ##重启服务

systemctl stop firewalld.service                       ##关闭火墙

在客户端:
vim /etc/chrony.conf                                        ##修改配置文件
server ip iburst                                                ##本机立即同步此ip的时间
timedatectl set-timezone Asia/shanghai        ##更改本机时区为上海时区

Linux 系统日志管理

systemctl restart chronyd                                ##重启服务

systemctl stop firewalld.service                     ##关闭火墙

 测试:
在客户端:chronyc sources -v

Linux 系统日志管理

左下角出现^*说明时间同步成功

Linux 系统日志管理

6.timedatectl命令
timedatectl                    ##管理系统时间

Linux 系统日志管理
   
   timedatectl      status                                         ##显示当前时间信息

Linux 系统日志管理
   timedatectl     set-time                                       ##设定当前时间

Linux 系统日志管理
   timedatectl     set-timezone                              ##设定当前时区

Linux 系统日志管理
   timedatectl     set-local-rtc 0|1                          ##设定是否使用utc时间

Linux 系统日志管理

Linux 系统日志管理
   timedatectl    list-timezones                               ##查看支持的所有时区  

Linux 系统日志管理


7.journal

1)journalctl              ##日志查看工具
      journalctl    -n 3              ##查看最近3条日志

Linux 系统日志管理
      journalctl    -p err           ##查看错误日志

Linux 系统日志管理
      journalctl    -o verbose  ##查看日志的详细参数

Linux 系统日志管理
      journalctl    --since         ##查看从什么时间开始的日志
      journalctl    --until           ##查看到什么时间为止的日志

Linux 系统日志管理

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

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald

ls /var/log/journal
文件名

Linux 系统日志管理

*保留的日志文件是数据直接用journalctl查看日志