linux服务器日志命令 linux 服务器日志

Linux系统日志怎么查看1. 前言
在Linux日常管理中 , 我们肯定有查看某些服务的日志需求,或者是系统本身的日志 。本文主要介绍如何查看Linux的系统日志 , 包括文件的路径、工具的使用等等 。会看Linux日志是非常重要的,不仅在日常操作中可以迅速排错,也可以快速的定位 。
2. 如何查看Linux日志
Linux日志文件的路径一般位于,/var/log/,比如ngix的日志路径为/var/log/nginx/,如果要查看某服务的日志,还可以使用systemctl status xxx , 比如查看ssh服务的壮态,systemctl status sshd
查看Linux某服务的日志
Liunx的配置文件在/etc/rsyslog.d里,可以看到如下信息
在linux系统当中,有三个主要的日志子系统:
1、连接时间日志:由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,
login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统 。
2、进程统计:由系统内核执行,当一个进程终止时,为每个进程往进程统计文件中写一个记录 。进程统计的目的是为系统中的基本服务提供命令使用统计
3、错误日志:由rsyslogd守护程序执行 , 各种系统守护进程、用户程序和内核通过rsyslogd守护程序向文件/var/log/messages报告值得注意的时间 。另外有许多linux程序创建日志,像HTTP和FTP这样提供的服务器也保持详细的日志 。
4、其他日志……
查看Linux日志默认路径
可以看到在/var/log目录下存在很多的日志文件,接下来就对里面的一些常用日志文件进行分析
主要日志文件介绍:
内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
用户登录日志:/var/log/lastlog
/var/log/boot.log(记录系统在引导过程中发生的时间)
/var/log/secure (用户验证相关的安全性事件)
/var/log/wtmp(当前登录用户详细信息)
/var/log/btmp(记录失败的的记录)
【linux服务器日志命令 linux 服务器日志】 /var/run/utmp(用户登录、注销及系统开、关等事件)
日志文件详细介绍:
/var/log/secure
Linux系统安全日志,记录用户和工作组的情况、用户登陆认证情况
例子:我创建了一个zcwyou的用户,然后改变了该用户的密码,于是该信息就被记录到该日志下
Linux系统安全日志默认路径
该日志就详细的记录了我操作的过程 。
内核及公共信息日志,是许多进程日志文件的汇总,从该文件中可以看出系统任何变化
查看Linux内核及公共信息日志
系统引导日志
该日志使用dmesg命令快速查看最后一次系统引导的引导日志
查看Linux系统系统引导日志
最近的用户登录事件,一般记录最后一次的登录事件
该日志不能用诸如cat、tail等查看 , 因为该日志里面是二进制文件 , 可以用lastlog命令查看,它根据UID排序显示登录名、端口号(tty)和上次登录时间 。如果一个用户从未登录过,lastlog显示 Never logged 。
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件 。该日志为二进制文件 , 不能用诸如tail/cat/等命令 , 使用last命令查看 。
记录邮件的收发
此文件是记录错误登录的日志,可以记录有人使用暴力破解ssh服务的日志 。该文件用lastb打开
该日志记录当前用户登录的情况,不会永久保存记录 。可以用who/w命令来查看
3. 常用的日志分析工具与使用方法
3.1 统计一个文本中包含字符个数
3.2 查看当天访问排行前10的url
3.3 查看apache的进程数
3.4 访问量前10的IP
cut部分表示取第1列即IP列,取第4列则为URL的访问量
3.5 查看最耗时的页面
按第2列响应时间逆序排序
3.6 使用grep查找文件中指定字符出现的次数
-o 指示grep显示所有匹配的地方 , 并且每一个匹配单独一行输出 。这样只要统计输出的行数就可以知道这个字符出现的次数了 。
4. 总结
查看Linux日志需求了解和熟悉使用一些常用的工具方能提升我们的查找和定位效率 。比如使用 Grep 搜索,使用Tail命令,使用Cut,使用AWK 和 Grok 解析日志和使用 Rsyslog 和 AWK 过滤等等,只要能掌握这些工具 。我们才能高效地处理和定位故障点 。
linux查看日志的命令是?具体怎么用tail -f 日志文件路径主要用于查看实时的日志记录,属于动态记录查看 。
cat日志路径主要用于查看静态的历史日志记录,一般跟路径名称,常见的这周类型的日志记录一般用管道符进行过滤筛选自己所需的记录 。
dmesg主要用于调试脚本或者命令 , 出现异常中断来排查错误原因显示的 。
tail-n10test.log , 查询日志尾部最后10行的日志 。
tail -n10 test.log,查询10行之后的所有日志 。
head -n 10test.log , 查询日志文件中的头10行日志 。
head -n -10test.log,查询日志文件除了最后10行的其他所有日志 。
操作命令
首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos 。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令 。
例如dos命令就是控制台命令 。要了解的是基于Linux操作系统的基本控制台命令 。有一点一定要注意 , 和dos命令不同的是 , Linux的命令(也包括文件名等等)对大小写是敏感的 , 也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的 。
Linux查看系统日志的一些常用命令last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行 。
-d 指定记录文件 。指定记录文件 。将IP地址转换成主机名称 。
-f 记录文件 指定记录文件 。
-n 显示列数或-显示列数 设置列出名单的显示列数 。
-R 不显示登入系统的主机名称或IP地址 。
-x 显示系统关机 , 重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的'命令(!? ?代表的是字符串,这个String可以随便输 , Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行 。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次 。
该指令 , 不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的 。如果想终止输出,按 Ctrl C 即可 。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
linux服务器系统日志如何通过命令压缩移到别的磁盘1、首先需要将迁移的目的盘的原有分区抹除,重新分区成与现有分区完全一致的分区,主分区大小可以不一致,boot分区和swap分区尽量一致 。分区可以用fdisk工具 。当然也需要写入文件系统 , 文件系统类型也保持一致 。这些工作完成以后,将主分区挂载到当前系统的/mnt目录下 。接下来可以通过tar工具进行打包了,具体的命令为sudotar-xzvfparchlinux.tar.gz--exclude=/proc--exclude=/sys--exclude=/run--exclude=/tmp--exclude=/lost found--exclude=/mnt/
2、进入安装盘环境之后,挂载目的盘,包括主分区和boot分区 。然后使用genfstab-U/mnt/mnt/etc/fstab命令重新生成fstab 。之后arch-chroot进入系统 , 通过grub-mkconfig/boot/grub/grub.cfg和grub-instal--target=x86_64-efi--efi-directory=/boot
Windows服务器远程登录日志查询方法,linux查看登录日志方法概述
本文介绍Windows、Linux服务器查询系统的远程登录日志方法 。
根据服务器所使用的操作系统不同 , 有以下两种查询方法 。
Linux操作系统的登录日志查询
通过远程连接登录Linux服务器,使用root用户执行last命令,系统会列出最近的登录记录 。
注:last命令各输出列作用及含义 。
· 第一列:用户名 。
· 第二列:终端位置 。pts/0 (伪终端)指 ssh命令或telnet命令远程连接用户 , tty指本地连接用户 。
· 第三列:登录IP或者内核。0.0或无内容,表示用户从本地终端连接 。除重启操作,内核版本会显示在状态中 。
· 第四列:开始时间 。
· 第五列:结束时间(still logged in 状态:用户未退出 , down 状态:直到正常关机,crash 状态:直到强制关机) 。
· 第六列:持续时间 。
Windows操作系统的登录日志查询
1、通过远程连接登录Windows服务器,单击 开始运行(快捷键:win R) , 输入eventvwr.msc并单击键盘的 Enter 回车按键,打开 事件查看器 。
2、单击 Windows 日志 , 选中 安全 并右击,单击 查找,打开 查找 框 。
3、在 查找内容(N) 处,输入“登录” 进行快速查找登录相关事件 。
4、双击查找到的事件,单击 详细信息 , 查看 IpAddress 字段和 IpPort 字段信息 。
注:
· IpAddress 字段记录的是登录过本机的IP地址 。
· IpPort 字段记录的是登录过本机的端口
Linux常见日志统计分析命令在上文中 , 我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析 。
server.xml使用配置方式,%D-请求时间,%F-响应时间
字段说明如下:
日志样例:
使用默认 combined 的经典格式上扩展response_timeupstream_response_time
nginx.conf使用配置方式:
字段说明如下:
日志示例:
为了能理解 AWK 程序,我们下面概述其基本知识 。
模式( pattern ) 用于匹配输入中的每行文本 。对于匹配上的每行文本,awk 都执行对应的 动作( action ) 。模式和动作之间使用花括号隔开 。awk 顺序扫描每一行文本 , 并使用 记录分隔符(一般是换行符)将读到的每一行作为 记录,使用 域分隔符( 一般是空格符或制表符 ) 将一行文本分割为多个 域,每个域分别可以使用 2, … 表示 。1 表示第一个域 , 表示第二个域,n 表示第 n 个域 。$0 表示整个记录 。模式或动作都可以不指定,缺省模式的情况下 , 将匹配所有行 。缺省动作的情况下,将执行动作 {print},即打印整个记录 。
此处使用Nginx access.log 举例,Tomcat 日志自己举一反三 。使用 awk 分解出Nginx access日志中的信息
以此类推…… 当我们使用默认的域分割符时 , 我们可以从日志中解析出下面不同类型的信息:
我们不难发现,仅使用默认的域分隔符,不方便解析出请求行、引用页和浏览器类型等其他信息,因为这些信息之中包含不确定个数的空格 。因此,我们需要把域分隔符修改为 “ ,就能够轻松读出这些信息 。
注意:这里为了避免 Linux Shell 误解 “ 为字符串开始,我们使用了反斜杠,转义了 “。现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的 。
此处使用Nginx access.log 举例,Tomcat 日志自己举一反三 。
如果我们想知道那些类型的浏览器访问过网站 , 并按出现的次数倒序排列,我可以使用下面的命令:
此命令行首先解析出浏览器域 , 然后使用管道将输出作为第一个 sort 命令的输入 。第一个 sort 命令主要是为了方便 uniq 命令统计出不同浏览器出现的次数 。最后一个 sort 命令将把之前的统计结果倒序排列并输出 。
我们可以使用下面的命令行,统计服务器返回的状态码 , 发现系统可能存在的问题 。
正常情况下,状态码 200 或 30x 应该是出现次数最多的 。40x 一般表示客户端访问问题 。50x 一般表示服务器端问题 。下面是一些常见的状态码:
HTTP 协议状态码定义可以参阅:
查找并显示所有状态码为 404 的请求
统计所有状态码为 404 的请求
现在我们假设某个请求 ( 例如 : URI: /path/to/notfound ) 产生了大量的 404 错误,我们可以通过下面的命令找到这个请求是来自于哪一个引用页,和来自于什么浏览器 。
有时候会发现其他网站出于某种原因 , 在他们的网站上使用保存在自己网站上的图片 。如果您想知道究竟是谁未经授权使用自己网站上的图片,我们可以使用下面的命令:
注意:使用前 , 将修改为自己网站的域名 。
统计共有多少个不同的 IP 访问:
统计每一个 IP 访问了多少个页面:
将每个 IP 访问的页面数进行从小到大排序:
统计 2018 年 8 月 31 日 14 时内有多少 IP 访问 :
统计访问最多的前十个 IP 地址
查看某一个 IP访问了哪些页面:
统计某个 IP 的详细访问情况,按访问频率排序
列出传输大小最大的几个文件
列出输出大于 204800 byte ( 200kb) 的页面以及对应页面发生次数
列出访问最频的页面(TOP100)
列出访问最频的页面([排除php页面】(TOP100)
列出页面访问次数超过100次的页面
列出最近1000条记录,访问量最高的页面
统计每分钟的请求数,top100的时间点(精确到分钟)
统计每小时的请求数,top100的时间点(精确到小时)
统计每秒的请求数,top100的时间点(精确到秒)
统计当天的 pv
说明:
可以使用下面的命令统计出所有响应时间超过 3 秒的日志记录 。
注意:NF 是当前记录中域的个数 。$NF 即最后一个域 。
列出php页面请求时间超过3秒的页面 , 并统计其出现的次数,显示前100条
列出相应时间超过 5 秒的请求,显示前20条
统计蜘蛛抓取次数
统计蜘蛛抓取404的次数
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处 。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的” 。
关于linux服务器日志命令和linux 服务器日志的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读