Linux日志分析

一、日志

1. 常见的一些日志文件

日志文件位置 日志文件说明

/var/log/messages

内核和公共日志

它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。

/var/log/cron

计划任务日志

记录crond计划任务产生的事件信息

/var/log/dmesg

系统引导日志

记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息

/var/log/maillog

邮件日志

记录进入或发出系统的电子邮件活动
/var/log/btmp 记录失败的、错误的登录尝试及验证事件
/var/log/lastlog 记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。使用lastlog命令查看
/var/log/secure 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp 永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,使用last命令查看
/var/tun/ulmp 记录当前已经登录的用户的信息。

2. 日志文件的分类

  • 内核及系统日志

  • 用户日志

        (1)查询当前登录的用户情况——users、who、w命令

        (2)查询用户登录的历史记录——last、lastb命令

  • 程序日志

3. 日志的优先级别

        在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同的优先级别(数字等级越小,优先级越高,消息越重要)。

级号 消息 级别 说明
0 EMERG 紧急 会导致主机系统不可用的情况

1

ALERT 警告 必须马上采取措施解决的问题
2 CRIT 严重 比较严重的情况
3 ERR 错误 运行出现错误
4 WARNING 提醒 可能影响系统功能,需要提醒用户的重要事件
5 NOTICE 注意 不会影响正常功能,但是需要注意的事件
6 INFO 信息 一般信息
7 DEBUG 调试 程序或系统调试信息等

4. 日志的位置

        内核及系统日志由系统服务 rsyslog 统一管理,根据其主配置文件 /etc/rsyslog.conf

        Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/

5. 日志文件的格式:

  • 事件产生的时间。

  • 产生事件的服务器的主机名。

  • 产生事件的服务名或程序名。

  • 事件的具体信息。

Linux日志分析_第1张图片

二、rsyslog 管理

1. 系统日志术语

        facility:设施,从功能或程序上对日志进行归类

        Priority 优先级别,从低到高排序

        参看帮助: man 3 syslog,man logger

2. rsyslog 相关文件

  • 程序包:rsyslog

  • 主程序:/usr/sbin/rsyslogd

  • CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}

  • CentOS 7,8:/usr/lib/systemd/system/rsyslog.service

  • 配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

  • 库文件: /lib64/rsyslog/*.so

3. rsyslog配置文件

/etc/rsyslog.conf 配置文件格式

由三部分组成

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

  • RULES:日志记录相关的规则配置

4. 案例

        将ssh服务的日志单独设置

查看ssh服务的日志位置

修改ssh配置文件,32下一行添加自己的自定义

Linux日志分析_第2张图片

76行添加自己的文件位置

Linux日志分析_第3张图片

重启服务

        网络日志(远程日志功能)

打开19,20 行

Linux日志分析_第4张图片

在172.168.1.11上设置发送到哪台主机去

Linux日志分析_第5张图片

测试,写日志进去

Linux日志分析_第6张图片

三、日志管理工具 - journalctl

日志的配置文件:

        /etc/systemd/journald.conf

 journalctl命令格式

        journalctl [OPTIONS...] [MATCHES...]

 案例:

查看所有日志(默认情况下 ,只保存本次启动的日志)

Linux日志分析_第7张图片

查看指定时间的日志

查看内核日志(不显示应用日志)

Linux日志分析_第8张图片

你可能感兴趣的:(linux,服务器,运维,日志)