百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux系统日志的详细介绍(linux日志命令)

nanshan 2024-10-22 13:04 28 浏览 0 评论

1简介

linux系统拥有非常强大的日志功能,保存着几乎有所有操作记录,包括内核和程序产生的各种错误信息,警告信息或其他提示信息,对这些信息管理员了解系统的运行状态和分析问题非常有用。可以从日志文件中获得自已想要的信息。

1.1 日志进程

默认日志守护进程为syslog. 位于/usr/sbin/syslog 或/usr/sbin/syslogd或/usr/sbin/rsyslog.d.默认配置文件为:/etc/syslog.conf ,/etc/rsyslog.conf,可以配置生成的日志

查看命令:ps -ef | grep syslog

root@onlinegame:/var/log# ps -ef | grep syslog

root 5659 1 0 2017 ? 00:23:22 /usr/sbin/rsyslogd

syslog服务可以根据日志的类型、优先级将日志保存到不同文件中。

linux系统log日志文件默认路径在/var/log中。

1.2 常用日志类型

类型

说明

auth

用户认证时产生的日志,如login命令、su命令。

console

针对系统控制台的消息。

cron

系统定期执行计划任务时产生的日志。

daemon

某些守护进程产生的日志。

kern

系统内核消息。

mail

邮件日志。

news

网络新闻传输协议(nntp)产生的消息。

ntp

网络时间协议(ntp)产生的消息。

user

用户进程。

1.3 常用日志优先级

优先级

说明

emerg

紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。

alert

需要立即修复,例如系统数据库损坏。

crit

危险情况,例如硬盘错误,可能会阻碍程序的部分功能。

err

一般错误消息。

warning

警告。

notice

不是错误,但是可能需要处理。

info

通用性消息,一般用来提供有用信息。

debug

调试程序产生的信息。

none

没有优先级,不记录任何日志消息。

1.2 常用的日志

1. /var/log/messages: 包括整体系统普通信息,其中也包含系统启动期间的日志。此外,还包括mail,cron,daemon,kern,auth等内容.

2. /var/log/syslog:它上messages日志不同,它只记录警告信息,通常是系统出问题的信息。

3. /var/log/user.log: 记录所有等级用户信息的日志.

4. /var/log/auth.log: 包含系统授权信息,用户登陆和使用权限机制

5. /var/log/daemon.log: 包含各种系统后台守护进程日志信息

6. /var/log/kern.log: 包含内核产生的日志,有助于在定制内核时解决问题.

7. /var/log/boot.log: 记录系统在引导过程中发生的事件,即linux系统开机自检过程显示的信息

8. /var/log/lastlog: 记录最后一次用户成功登陆的时间,IP等信息,lastlog查看

9. /var/log/secure: linux系统安全日志,记录用户和工作组变坏情况,用户登陆认证情况

10. /var/log/btmp:记录linux登陆失败的用户,时间和远程IP

11. /var/log/wtmp:此日志文件永久记录每个用户登录,注销及系统的启动,停机的事件,用last查看

12. /var/log/utmp:记录有关当前登录的每个用户的信息。如who,w,users,finger等需要访问此文件

2 日志文件简介

2.1. /var/log/messages日志

包含的信息比较全面

1. 启动时日志

2. 玩家操作日志等

格式:

日期时间 机器名命令描述信息

root@onlinegame:/var/log$ vi messages

Dec 24 06:25:29 onlinegame rsyslogd: [origin software="rsyslogd" swVersion="8.4.2" x-pid="5659" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

Dec 24 06:27:01 onlinegame rsyslogd0: action 'action 26' resumed (module 'builtin:ompipe') [try http://www.rsyslog.com/e/0 ]

Dec 25 09:22:45 onlinegame -bash: HISTORY: PID=19793 PPID=19792 SID=19793 USER=zhangke01 CMD=ll

Dec 25 09:23:13 onlinegame -bash: HISTORY: PID=19793 PPID=19792 SID=19793 USER=zhangke01 CMD=cd wo

2.2 /var/log/syslog日志文件

默认centos不生成,可以在/etc/rsyslog.conf配置让系统生成日志文件。

syslog只记录警告信息,常常是系统出问题的信息,所以要关注此文件.

要让系统生成该日志文件,在/etc/rsyslog.conf文件中加上:*.warning /var/log/syslog 该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。

该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成。在每次用户登录时被查询,该文件是二进制文件,需要使用lastlog命令查看,根据UID排序显示登录名、端口号和上次登录时间。如果某用户从来没有登录过,就显示为"**Never logged in**"。该命令只能以root权限执行。简单地输入lastlog命令后就会看到类似图4的信息:

luoying@onlinegame:/var/log$ vi syslog

Dec 31 17:29:47 onlinegame exim[18063]: write failed on panic log: length=104 result=-1 errno=28 (No space left on device)

Dec 31 17:59:48 onlinegame exim[20253]: 2017-12-31 17:59:47 failed to write to main log: length=47 result=-1 errno=28 (No space left on device)

Feb 6 17:46:26 onlinegame -bash: HISTORY: PID=3687 PPID=3686 SID=3687 USER=gugang CMD=python

Feb 6 17:49:23 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=cd ..

Feb 6 17:49:26 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=cd svn up

Feb 6 17:49:29 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=ls -l

Feb 6 17:49:34 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=svn up

Feb 6 17:49:38 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=cd ../engine/

Feb 6 17:49:41 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=sh stop_node.sh

Feb 6 17:49:42 onlinegame bash: HISTORY: PID=30491 PPID=30482 SID=30424 USER=root CMD=sh start_node.sh

2.3 /var/log/boot.log日志

记录系统在引导过程中发生的事件,即linux系统开机自检过程显示的信息

[root@localhost log]# cat boot.log

[ OK ] Started Show Plymouth Boot Screen.

[ OK ] Reached target Paths.

[ OK ] Reached target Basic System.

Starting File System Check on /dev/disk/by-uuid/6d32...88652b684ca0...

systemd-fsck[301]: fsck: error 2 (No such file or directory) while executing fsck.ext2 for /dev/disk/by-uuid/6d32919a-e3d2-4e22-a5a5-88652b684ca0

[ OK ] Started File System Check on /dev/disk/by-uuid/6d329...5-88652b684ca0.

[ OK ] Started dracut initqueue hook.

Mounting /sysroot...

[ OK ] Mounted /sysroot.

[ OK ] Reached target Initrd Root File System.

Starting Reload Configuration from the Real Root...

[ OK ] Started Reload Configuration from the Real Root.

[ OK ] Reached target Initrd File Systems.

[ OK ] Reached target Initrd Default Target.

Welcome to CentOS Linux 7 (Core)!

[ OK ] Stopped Switch Root.

[ OK ] Stopped target Switch Root.

[ OK ] Stopped target Initrd File Systems.

2.4 /var/log/wtmp日志文件(用户登陆)

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。

随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。

该日志文件可以用来查看用户的登录记录,last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

[root@localhost log]# last

root pts/1 192.168.1.1 Tue Feb 6 17:18 still logged in

root pts/0 192.168.1.1 Tue Feb 6 17:18 still logged in

root pts/1 192.168.1.1 Thu Feb 1 21:10 - 21:14 (00:04)

root pts/0 192.168.1.1 Thu Feb 1 14:21 - 21:47 (07:25)

root pts/1 192.168.1.1 Tue Jan 30 10:46 - 19:18 (08:31)

root pts/0 192.168.1.1 Tue Jan 30 09:32 - 19:18 (09:45)

luoying pts/0 192.168.1.5 Wed Jan 24 21:21 - 21:21 (00:00)

2.5 /var/log/utmp日志文件(用户登陆)

该日志文件记录有关当前登录的每个用户的信息。

因此这个文件会随着用户登录和注销系统而不断变化,它只保留当时联机的用户记录,不会为用户保留永久的记录。

系统中需要查询当前用户状态的程序,如who、w等就需要访问这个文件。该日志文件并不能包括所有精确的信息,因为某些突发错误会终止用户登录会话,而系统没有及时更新 utmp记录,因此该日志文件的记录不是百分之百值得信赖的。

[root@localhost log]# who

(unknown) :0 2018-01-24 21:19 (:0)

root pts/0 2018-02-06 17:18 (192.168.1.1)

root pts/1 2018-02-06 17:18 (192.168.1.1)

[root@localhost log]# w

18:20:58 up 12 days, 21:03, 3 users, load average: 0.00, 0.01, 0.05

USER TTY LOGIN@ IDLE JCPU PCPU WHAT

root pts/0 17:18 2.00s 0.38s 0.05s w

root pts/1 17:18 1:02m 0.05s 0.05s -bash

2.6 /var/log/lastlog日志文件(用户登陆)

记录最后一次用户成功登陆的时间,IP等信息,lastlog查看

wtmp、utmp、lastlog都记录了用户的登陆情况,所有记录包含了相同的时间戳。而且文件是二进制保存的,不能用cat/vi直接查看。而是使用相关的命令令查看。

[root@localhost log]# lastlog

用户名 端口 来自 最后登陆时间

root pts/1 192.168.1.1 二 2月 6 17:18:46 +0800 2018

bin **从未登录过**

daemon **从未登录过**

sync **从未登录过**

shutdown **从未登录过**

halt **从未登录过**

mail **从未登录过**

games **从未登录过**

gdm :0 三 1月 24 21:19:08 +0800 2018

tcpdump **从未登录过**

haha pts/0 192.168.1.5 三 1月 24 21:21:28 +0800 2018

mysql pts/1 二 4月 11 15:15:05 +0800 2017

test pts/0 192.168.1.1 四 12月28 20:20:05 +0800 2017

2.7 /var/log/users.log日志文件(用户操作日志)

记录所有等级用户信息的日志.

root@onlinegame:/var/log$ vi users.log

Dec 25 10:01:26 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=ll

Dec 25 10:01:27 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=rm -rf bin

Dec 25 10:01:28 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=ls

Dec 25 10:01:29 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=cd ..

Dec 25 10:01:29 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=ll

Dec 25 10:01:32 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=cd ..

Dec 25 10:01:32 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=ll

Dec 25 10:01:39 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=sh pack.sh

Dec 25 10:02:11 onlinegame bash: HISTORY: PID=24187 PPID=24179 SID=24125 USER=root CMD=ll

2.8 /var/log/auth.log(授权信息)

包含系统授权信息,用户登陆和使用权限机制

root@onlinegame:/var/log$ vi auth.log

Feb 6 20:49:19 onlinegame sshd[11351]: Did not receive identification string from 192.168.44.161

Feb 6 20:50:01 onlinegame CRON[11387]: pam_unix(cron:session): session opened for user root by (uid=0)

Feb 6 20:50:01 onlinegame CRON[11386]: pam_unix(cron:session): session opened for user root by (uid=0)

Feb 6 20:50:01 onlinegame CRON[11388]: pam_unix(cron:session): session opened for user root by (uid=0)

Feb 6 20:50:01 onlinegame CRON[11389]: pam_unix(cron:session): session opened for user root by (uid=0)

Feb 6 20:50:01 onlinegame CRON[11386]: pam_unix(cron:session): session closed for user root

Feb 6 20:50:01 onlinegame CRON[11388]: pam_unix(cron:session): session closed for user root

Feb 6 20:50:01 onlinegame CRON[11389]: pam_unix(cron:session): session closed for user root

Feb 6 20:50:03 onlinegame CRON[11387]: pam_unix(cron:session): session closed for user root

2.9 /var/log/daemon.log(守护进程日志)

包含各种系统后台守护进程日志信息

root@onlinegame:/var/log$ vi daemon.log

Dec 25 09:52:18 onlinegame dbus[1781]: [system] Activating service name='org.freedesktop.login1' (using servicehelper)

Dec 25 09:52:19 onlinegame dbus[1781]: [system] Activating service name='org.freedesktop.systemd1' (using servicehelper)

Dec 25 09:52:19 onlinegame dbus[1781]: [system] Activated service 'org.freedesktop.systemd1' failed: Launch helper exited with unknown return code 1

Dec 25 09:52:19 onlinegame dbus[1781]: [system] Activated service 'org.freedesktop.login1' failed: Launch helper exited with unknown return code 1

2.10 /var/log/kern.log(内核日志)

包含内核产生的日志,有助于在定制内核时解决问题.

luoying@onlinegame:/var/log$ vi kern.log

Dec 25 20:06:59 onlinegame kernel: [19645166.590333] UDP: bad checksum. From 192.168.41.42:5353 to 224.0.0.251:5353 ulen 48

Dec 25 20:07:07 onlinegame kernel: [19645174.122019] UDP: bad checksum. From 192.168.41.42:137 to 192.168.43.255:137 ulen 58

Dec 28 15:29:52 onlinegame kernel: [19887739.280311] device eth0 entered promiscuous mode

Dec 28 15:30:04 onlinegame kernel: [19887751.777992] device eth0 left promiscuous mode

Dec 28 15:30:38 onlinegame kernel: [19887785.920414] device eth0 entered promiscuous mode

Dec 28 15:30:43 onlinegame kernel: [19887790.828312] device eth0 left promiscuous mode

Dec 28 15:30:48 onlinegame kernel: [19887795.052369] device eth0 entered promiscuous mode

2.11 /var/log/secure(系统安全日志)

linux系统安全日志,记录用户和工作组变坏情况,用户登陆认证情况

[root@localhost log]# vim secure

Feb 6 17:18:23 localhost sshd[517]: Accepted password for root from 192.168.1.1 port 15063 ssh2

Feb 6 17:18:23 localhost sshd[517]: pam_unix(sshd:session): session opened for user root by (uid=0)

2.12 /var/log/btmp(登陆失败日志)

记录linux登陆失败的用户,时间和远程IP

相关推荐

Linux 的磁盘系统,和你了解的Windows差别很大

我的C盘去哪了?一个系统,如果没有存储,那么也就不能称之为系统。存储性是一个完整系统的重要组成部分。例如AWS最开始的服务就是S3(用来存储数据的云服务),足以见得存储对于一个应用平台是多么的重要。...

一文读懂 Linux 硬盘挂载:从问题到解决方案

各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作Linux系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道...

硬盘分区(硬盘分区格式)

 磁盘(硬盘)分区,可以分C、D、E等分区,大家可能都会用,会根据自已的需要确定所需的空间,但分区是如何工作的呢,内容如下。Windows中有3类:MBR分区:MasterBootRecord,也...

parted命令工具分区介绍(particle命令)

linux系统磁盘分区通常可以使用fdisk和parted命令,当分区大小小于2TB的时候,两种皆可以使用,当分区大于2TB的话,就需要用parted分区。以下介绍parted命令相关使用,以sdb为...

Linux 服务器上查看磁盘类型的方法

方法1:使用lsblk命令lsblk输出说明:TYPE列显示设备类型,如disk(物理磁盘)、part(分区)、rom(只读存储)等。NAME列显示设备名称(如sda、nvme0n1)。TR...

Linux分区命令fdisk和parted使用介绍

摘要:一般情况下,Linux分区都是选择fdisk工具,要求硬盘格式为MBR格式,能支持的最大分区空间为2T。但是目前在实际生产环境中使用的磁盘空间越来越大,呈TB级别增长;而常用的fdisk这个工具...

linux 分区原理与名词解释(linux操作系统中的分区类型)

分区的意义将磁盘分成几份,每份挂在到文件系统的那个目录在linux里的文件系统Ext2:早期的格式,不支持日志功能Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了Ext4:针对e...

linux 分区合并(linux合理分区)

查看虚拟机当前磁盘挂载情况fdisk-l选择磁盘fdisk/dev/sda查看磁盘分区情况p重新选择分区n选择主分区p保存w创建物理卷pvcreate/dev/sda3查看物理卷信息pvdi...

如何在 Linux 系统中永久禁用交换分区 ?

Linux操作系统中的交换分区或交换文件充当硬盘上的临时存储区域,当物理内存(RAM)满时,系统使用该存储区域。它用于交换较少使用的内存页,这样系统就不会因为运行应用程序而耗尽物理内存。随着技术的发...

Linux 如何知道硬盘已用多少空间、未用多少空间

刚出社会时,去了一家公司上班,老板为了省钱,买的服务器是低配的,硬盘大小只有40G,有一次网站突然不能访问了,排查半天才知道原来服务器的硬盘空间已用完,已无可用空间。第一步是查看硬盘的使用情况,第二步...

用Linux系统管理磁盘空间 就该这么来

要想充分有效的管理使用Linux系统中的存储空间,用户必须要做的就是双管齐下,一边扩充空间一边限制空间。不得不说的就是很多时候磁盘空间就像水资源,需节制水流。说到要如何实现限制空间就离不开使用LVM技...

Windows 11 磁盘怎么分区?(windows11磁盘怎么分区)

Windows11磁盘分区技术解析与操作指南:构建高效存储体系一、磁盘分区的技术本质与系统价值磁盘分区作为存储系统的基础架构,通过逻辑划分实现数据隔离与管理优化。Windows11采用NTF...

linux上创建多个文件分区,格式化为 ext2、ext3、ext4、XFS 文件

以下是在Linux系统上创建多个20GB文件分区并格式化为不同文件系统的分步指南:步骤1:创建基础文件(4个20GB文件)bash#创建4个20GB稀疏文件(实际占用空间随写入量增长)ddif=/...

救命的U盘低格哪家最强?(低格优盘)

周二时有位童鞋留言说U盘之前做过引导盘,现在格式化不了,用各种工具都不行,而且因为U盘厂商的关系,查不到U盘主控,无法量产恢复,特来求助。小编花了点时间特意弄坏一个U盘分区,终于试出方法了,特来分享一...

Linux 查看硬件磁盘存储大小和磁盘阵列(RAID)的组合方式

一、查看硬件磁盘存储大小查看所有磁盘信息:#lsblk该命令会列出所有磁盘(如/dev/sda、/dev/nvme0n1)及其分区和挂载点。查看磁盘总容量:fdisk-l#或parted-...

取消回复欢迎 发表评论: