服务器日志是由服务器创建并经常更新以捕获特定服务和应用程序的所有活动信息的日志文件。当您的应用程序或服务出现问题时,此文件会非常有用。从日志文件中,您可以获得有关问题的所有信息,例如,当它根据警告或错误消息开始表现异常时。LNAV(日志文件导航器)是一个基于控制台的高级Linux日志文件查看器。它完成与其他文件查看器(如cat、more、tail等)相同的任务,但具有普通文件查看器所没有的许多增强功能(尤其是它具有多种颜色和易于阅读的格式)。它可以解压缩多个压缩日志文件(zip、gzip、bzip),同时将它们合并在一起以供导航。基于消息的时间戳,lnav可以将多个日志文件合并为一个视图(SingleLogReview),从而避免打开多个窗口。左侧的颜色条有助于显示消息属于哪个文件。警告和错误的数量被突出显示(黄色和红色),因此我们可以很容易地看到问题出在哪里。它会自动加载新的日志行。它显示按消息时间戳排序的所有文件的日志消息。顶部和底部的状态栏会告诉您所在的日志文件。如果您想按特定模式搜索,只需在搜索弹出窗口中输入它,它就会立即出现。内置的日志消息解析器自动发现并提取每一行的详细信息。当你用普通的文件查看器打开日志文件时,它会以纯文本显示所有信息(如果说得更直白一点:plainwhite-黑色背景上的白色文本),让人很难找到和理解哪里有警告或错误信息。为了克服这种情况并快速找到警告和错误消息来解决问题,lnav是一个更好的解决方案。大多数常见的Linux日志文件都放在/var/log/中。lnav自动检测以下日志格式CommonWebAccessLogformat(通用网络访问日志格式)CUPSpage_logSyslogGlogVMwareESXi/vCenterlogdpkg.loguwsgi“Generic”–任何以时间戳开头的消息Stracesudogzib&bizplnavAdvancedfeaturessingle日志视图-基于消息时间戳,所有日志文件内容合并到一个视图中突出显示Tab补全当您查看同一组文件时自动保存和恢复会话信息。如何在Linux中以无头模式安装lnav大多数发行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、ArchLinux、Manjaro、Mageia等)默认都有lnav包。在包管理器的帮助下,我们可以轻松地从发行版的官方存储库安装它。对于CentOS/RHEL,我们需要启用EPEL存储库。[在Debian/Ubuntu/LinuxMint上安装lnav]$sudoapt-getinstallllnav[在RHEL/CentOS上安装lnav]$sudoyuminstallllnav[在Fedora上安装lnav]$sudodninstallllnav[在openSUSE上安装lnav]$sudozypperinstallllnav[在Mageia上安装lnav]$sudourpmilnav[正在安装基于ArchLinux的系统上的lnav]$yaourt-Slnav如果您的发行版没有lnav包,请不要担心,开发人员提供了.rpm和.deb包,因此我们可以轻松安装它们。确保从开发者github页面下载最新版本的包。[在Debian/Ubuntu/LinuxMint上安装lnav]$sudowgethttps://github.com/tstack/lnav/releases/download/v0.8.1/lnav_0.8.1_amd64.deb$sudodpkg-ilnav_0.8.1_amd64.deb[onRHEL/在CentOS上安装lnav]$sudoyuminstallhttps://github.com/tstack/lnav/releases/download/v0.8.1/lnav-0.8.1-1.x86_64.rpm[在Fedora上安装lnav]$sudodnfinstallhttps://github.com/tstack/lnav/releases/download/v0.8.1/lnav-0.8.1-1.x86_64.rpm[在openSUSE上安装lnav]$sudozypperinstallhttps://github.com/tstack/lnav/releases/download/v0.8.1/lnav-0.8.1-1.x86_64.rpm[在Mageia上安装lnav]$sudorpm-ivhhttps://github.com/tstack/lnav/releases/download/v0.8.1/lnav-0.8。1-1.x86_64.rpm不带参数运行lnav默认情况下,当您不带参数运行lnav时,它将打开syslog文件。#lnav使用lnav查看特定日志文件要使用lnav查看特定日志文件,在lnav命令后添加日志文件路径。例如我们想查看/var/log/dpkg.log日志文件。#lnav/var/log/dpkg.log使用lnav查看多个日志文件要使用lnav查看多个日志文件,在lnav命令后一个一个添加日志文件路径,用空格隔开。例如我们要查看/var/log/dpkg.log和/var/log/kern.log日志文件。左侧的颜色条有助于显示消息属于哪个文件。此外,顶部状态栏还会显示当前日志文件的名称。为了显示多个日志文件,大多数应用程序经常打开多个窗口,或者水平或垂直拆分窗口,但lnav使用不同的方法(它根据日期组合在同一窗口中显示多个日志文件)。#lnav/var/log/dpkg.log/var/log/kern.log使用lnav查看压缩日志文件要同时查看和解压压缩日志文件(zip、gzip、bzip),在lnav后加-r命令选项。#lnav-r/var/log/Xorg.0.log.old.gz直方图视图首先运行lnav然后按i切换直方图视图。要查看日志解析器结果,首先运行lnav并按p以打开显示日志解析器结果。语法突出显示您可以搜索任何给定的字符串,它将在屏幕上突出显示。首先运行lnav然后按/键并输入要查找的字符串。为了进行测试,我搜索字符串Default,请参见下面的屏幕截图。Tab补全命令窗口支持大多数操作的Tab补全。例如,在进行搜索时,您可以使用制表符补全来在屏幕上显示单词,而不是复制和粘贴。为了进行测试,我搜索字符串/var/log/Xorg,请参见下面的屏幕截图。
