如何查看线上服务器日志

  公司的服务是部署在Linux上的,当线上出现各种问题的时候,我们肯定要先看线上日志,找到是什么问题再逐步排查。这里从最基础的步骤开始总结一下如何查看线上日志。

  首先我用的是Xshell。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。打开软件之后,点击左上角文件里的新建。

如何查看线上服务器日志

  填上服务所部署的那台服务器的地址和端口号

如何查看线上服务器日志

然后输入登陆的用户名,这个用户名需要你在服务所部署的那台服务器上已经注册了才可以登陆。

如何查看线上服务器日志

注册的时候会需要公钥和私钥,这个密码就是你在生成公钥和私钥的时候所设置的密码。

输入密码之后看到下面的内容就是登陆成功了。

如何查看线上服务器日志

这里有一点需要注意的地方是,有的公司连线上服务器是需要先连v*n的。你需要公司先帮你开通v*n权限,然后拥有v*n的账号密码,我使用的是Openv*n。

首先你要知道你们服务的日志是放在哪个文件夹里

进来之后可以输入命令:  cd /

这个命令的意思是进入根目录,然后进入日志所在的文件夹,输入命令:cd var/log/program,各个项目的路径不一样,这个命令只是一个格式参考。

当你不知道项目的准确路径时,你可以一个文件夹一个文件夹地进,然后输入命令: ls 查看当前文件夹下的目录,一步一步查找日志所在文件夹。走错了就返回上一级目录,输入命令:cd ..

当你找到日志文件了,可以输入例如命令:

tail -n 1000 spring.log | grep "2019-03-10"

tail -n 1000的意思是显示最后1000行。spring.log是我的日志文件的名称。grep的意思是查找文件里符合条件的字符串。

如果你希望动态地查看日志,可以输入例如命令:

tail -f spring.log

退出动态查看的话按Ctrl+C即可

如果你希望看关键字附近的日志,思路是首先找到关键字所在的行,输入例如指令:

cat -n spring.log | grep "2019-03-10"

这样会的到关键字的所在行的行号,如430

然后输入例如指令:

cat -n spring.log |tail -n +420|head -n 20

意思是从420行开始查,显示前20行日志,即从420行查到440行