Linux内核及系统日志

您所在的位置:网站首页 linux常用日志路径 Linux内核及系统日志

Linux内核及系统日志

2023-08-25 08:25| 来源: 网络整理| 查看: 265

Linux内核及系统日志 查看系统负载查看进程 内核日志排错--dmesg日志dmesg常见用法:查看内核日志中的调用栈查看dmesg日志使用`dmesg`命令将`Linux内核环形缓冲区` 重定向到 `本地文件` Linux系统日志查看系统常规日志--messages日志查看系统安全日志查看系统计划任务日志 kdump日志系统异常重启定位思路Linux服务巡检常用命令用户登录日志(用户登陆审计)last显示登录成功的信息lastb显示登录失败的信息 查看用户信息查看特权账号查看硬件信息查看系统环境查看网络信息 将日志传送到远程rsyslog服务器日志的切割与轮替

查看系统负载

系统版本声明:RHEL7 https://www.linuxcool.com/uptime

# 查看系统运行时间、用户数、负载 uptime

在这里插入图片描述

# 显示本次系统的开机时间 uptime -s

在这里插入图片描述

# 查看系统负载 cat /proc/loadavg

在这里插入图片描述

查看进程 ps -ef # 查看所有进程 top # 实时显示进程状态 内核日志排错–dmesg日志

查看内核启动时的内容

参考: https://cloud.tencent.com/developer/article/1554567?from=14588

dmesg日志只记录本次启动之后的信息,但较messages更详细。内核或应用软件bug发生的情况下大多有如下形式的calltrace(栈回溯信息)记录,可用于问题定位:

dmesg常见用法:

https://www.linuxcool.com/dmesg https://wangchujiang.com/linux-command/c/dmesg.html

在这里插入图片描述

查看内核日志中的调用栈 # 以易读格式显示日志事件 dmesg -T # 查看内核日志中的调用栈 ## -T 显示易读的时间戳 ## less防止太大屏幕滚动停不下来 dmesg -T|less # 显示最后10条日志 dmesg -T | tail -n 10 # 从下往上看

在这里插入图片描述

查看dmesg日志 # 查看内核启动时的内容 # 本次启动之后的日志 dmesg ## 日志的时间默认以时间戳方式显示

image.pngimage.png

## 查看的是/var/log/dmesg文件 tail /var/log/dmesg ### 滚动查看 tailf /var/log.dmesg tail -f /var/log.dmesg

在这里插入图片描述

使用dmesg命令将Linux内核环形缓冲区 重定向到 本地文件 # 将Linux内核环形缓冲区 重定向到 本地文件 dmesg > dmesg_messages`

然后本地打开dmesg_messages文件进行分析

Linux系统日志

内核及系统日志有系统服务rsyslog统一管理,根据其主配置文件

/etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序消息记录到什么位置.

/var/log/access-log 记录HTTP/WEB的信息

/var/log/dmesg 内核启动时的日志,开机时在屏幕显示,该命令查 看本地系统启动时的硬件和内核缓冲信息,用dmesg命令查看

/var/log/boot.log 记录系统启动的软件日志信息

日志文件日志作用查看方式dmesg主要记录系统在开机时内核检测过程所产生的信息通过执行dmesg命令查看./var/log/wtmp or /var/log/faillog这两个文件可以记录正确登陆系统者的账户信息(wtmp),与错误登陆时所使用的账户信息last命令就是读取wtmp文件来获取的./var/log/btmp记录错误登陆日志,这个文件是二进制的不能使用cat命令查看,而要使用lastb命令查看./var/run/utmp记录当前一登陆用户的信息不能使用cat命令查看,而要使用w,who,users命令来查询./var/log/lastlog记录了系统上面所有账户最近一次登陆系统时的相关信息lastlog命令就是读取这个文件里的记录来显示的./var/log/secure系统安全日志,记录用户远程登录,认证过程中的事件信息,只要涉及到需要用户名和密码的操作,那么当登陆系统是(不论正确错误),都会记录到这里./var/log/messages这个文件非常重要,几乎系统发生的错误信息,或者重要信息都会被记录在这里.系统公共常规日志,记录内核消息,包括启动,IO/网络/程序错误日志/var/log/cron主要记录关于crontab计划任务的相关信息,比如,系统计划任务的错误配置,计划任务的修改等.查看系统计划任务日志tail --f /var/log/cron使用关键字过滤计划任务日志grep “alidata” /var/log/cron/var/log/malilog or /var/log/mail/*记录着邮件的往来信息,默认是postfix邮件服务器的一些信息. 查看系统常规日志–messages日志

messages日志位于/var/log路径下,其中messages是记录当前系统日志的文件, 其他形如messages-YYYYMMDD的文件是历史日志信息。一般通过系统异常的时间点或者关键字在messages日志中查找相关信息进行分析。

# 查看messages日志 more /var/log/messages

image.png

## tail用来查看最后十条log,和cat效果是一样的 # 查看最后10条系统常规日志 tail /var/log/messages # 持续查看OS日志 tail -f /var/log/messages

在这里插入图片描述

查看系统安全日志 # 查看系统安全日志 tail secure tail /var/log/secure ## 读取的是/var/log/secure文件 # 持续查看系统安全日志 tail -f secure tail -f /var/log/secure

在这里插入图片描述

查看系统计划任务日志

https://blog.csdn.net/omaidb/article/details/120104880

#查看系统计划任务日志 tail -f /var/log/cron kdump日志

Kdump是一个用于收集系统崩溃、死锁或死机时内核参数的一个服务。举例来说,如果有一天系统崩溃了,在这时Kdump服务就会开始工作,将系统的运行状态和内核数据收集到一个“dump core”的文件中,便于后续让运维人员分析找出问题所在。

• 触发panic的情况下,在/var/crash目录下会生成以问题发生时间点命名的文件夹,其下有vmcore文件(即kdump)以及vmcore-dmesg.txt文件。vmcore-dmesg文件包含calltrace信息,可用于基本的问题定界。• 通过vmcore可以找到崩溃时间、kernel panic的原因等信息;• 通过分析堆栈一般可以定位出系统故障的真正原因;image.png

DATE:发生panic的时间。UPTIME:系统发生panic前持续运行的时间。LOAD AVERAGE:1分钟,5分钟,15分钟内统计的CPU负载平均值(正在运行和准备运行的任务的数目)TASKS:发生panic时系统中进程总数,包括处于各种状态的进程总和。PANIC:系统发生panic的原因及相应信息。PID:发生panic的任务号。COMMAND:发生panic的任务正在执行的操作。TASK:发生panic的任务描述符。THREAD_INFO:发生panic时thread_info结构体的地址。STATE:发生panic的任务当时的状态。 系统异常重启定位思路

• 确认系统异常重启的大概时间点(告警、日志、系统最后一次启动时间等)• 通过/var/log/message 文件查找Command line日志,确认在问题时间点附近有相关字段来确认是否为正常reboot 命令调用:• 通过/var/log/message 文件,确认是否有用户态程序调用导致的重启• 通过/var/crash 目录下是否有以异常时间命名的文件夹和crash日志产生,确认是否为panic导致的重启或者oom导致的重启(oom指的是程序在申请内存的时候,内存不足导致系统的重启)

# 查看crash下是否有时间文件夹 ll /var/crash/

image.png• 在虚拟机场景下排查主机日志看是否是主机发起的重启,在物理机场景下查看BMC日志看是否有物理机掉电• 查看串口日志打印是否有异常重启的信息

Linux服务巡检常用命令

Linux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题、解决问题,降低损失,常用的巡检命令如下:

用户登录日志(用户登陆审计)

https://www.linuxcool.com/who who命令读取/var/run/utmp文件

# 查看使用系统的当前用户有哪些 # 查看活动用户 w users # 查看上次重启时间 who -b # 查看指定用户信息 id # 查看所有用户的定时任务 crontab -l last显示登录成功的信息

https://www.linuxcool.com/last -a:把从何处登入系统的主机名称或ip地址,显示在最后一行; -d:将IP地址转换成主机名称; -f: :指定记录文件。 -n: 或-:设置列出名单的显示列数; -R:不显示登入系统的主机名称或IP地址; -x:显示系统关机,重新开机,以及执行等级的改变等信息。

# 显示登录成功的用户信息 last 第一列第二列第三列第四列第五列第六列用户名终端位置来源IP或主机名登录开始时间结束时间持续时间rootpts/2192.168.0.1Tue Mar 22 14:30stilllogin in(还未退出)rootpts/0192.168.0.1Tue Mar 22 13:47down(直到正常关机)00:01rebootsystem boot3.10.0-957.el7.xTue Mar 22 13:49crash(直到强制关机)

在这里插入图片描述

lastb显示登录失败的信息

https://www.linuxcool.com/lastb 常用参数: -a  把从何处登入系统的主机名称或IP地址显示在最后一行。 -d  将IP地址转换成主机名称。 -f  指定记录文件。 -n 或-  设置列出名单的显示列数。 -R  不显示登入系统的主机名称或IP地址。 -x  显示系统关机,重新开机,以及执行等级的改变等信息。

# 显示登录失败的用户信息 lastb

在这里插入图片描述

第一列第二列第三列第四列第五列第六列用户名终端位置来源IP或主机名登录开始时间结束时间持续时间 查看用户信息 # 查看系统所有用户 cut -d: -f1 /etc/passwd # 查看系统所有组 cut -d: -f1 /etc/group 查看特权账号 # 查询特权用户特权用户(uid 为0) awk -F: '$3==0{print $1}' /etc/passwd # 查找远程可以登录的账户 ## $1:MD5(长度 22个字符) ## $5:SHA-256(长度 43 个字符) ## $6:SHA-512(长度86 个字符) awk '/\$1|\$5|\$6/{print $1}' /etc/shadow # 检查sudo权限 cat /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL" 查看硬件信息 cat /proc/cpuinfo # 查看CPU信息 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备 df -h # 查看各分区使用情况 du -sh # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 free -m # 查看内存使用量和交换区使用量 swapon -s # 查看所有交换分区 mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况 查看系统环境 hostname # 查看计算机名 uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 lsmod # 列出加载的内核模块 env # 查看环境变量 查看网络信息 # 查看所有网络接口的属性 ifconfig # 查看防火墙设置 iptables -L # 查看路由表 route -n # 查看所有监听端口 netstat -lntp # 查看所有已经建立的连接 netstat -antp # 查看网络统计信息 netstat -s 将日志传送到远程rsyslog服务器

使用 journalctl 命令获取日志并将日志传输到远程 rsyslog 服务器(IP 地址为 172.16.70.99)。

# 将日志传送到原创rsyslog服务器 journalctl -o short -f |nc -uv 172.16.70.99 514 ## 打印 Ncat: Version 6.40 ( http://nmap.org/ncat ) Ncat: Connected to 172.16.70.99:514. 日志的切割与轮替

https://blog.csdn.net/omaidb/article/details/120425069

logrotate服务用于完成日志转储 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3