常见的日志查询方式
Windows
日志位置:%SystemRoot%\System32\Winevt\logs\...
- 应用程序日志:
%SystemRoot%\System32\Winevt\logs\Application.evtx
- 系统日志:
%SystemRoot%\System32\Winevt\logs\System.evtx
- 安全日志:
%SystemRoot%\System32\Winevt\logs\Security.evtx
日志查询方式:
-
使用Windows自带的事件查看器:
-
打开方式:
-
(1)“开始->所有程序->管理工具->事件查看器”
-
(2)按住“Win + R”打开“运行”,输入:eventvwr.msc 也可以直接进入“事件查看器”。
-
通过事件查看器进行过滤
- (1)“事件查看器”右侧栏中的“筛选当前日志”
- (2)根据需求筛选重要日志信息,如:时间、关键字等。
-
-
使用 Logparser 工具
- 基本查询语句结构:
Logparser.exe -i:EVT -o:DATAGRTID "SELECT * FROM c:\xx.evtx"
- 基本查询语句结构:
-
使用 powershell 命令
- 以管理员的身份运行powershell,输入命令 Get-EventLog <日志名称> 即可。
Linux
日志位置:-------------------------------shell 快捷命令
- 登录失败记录:
/var/log/btmp
---------- lastb - 最后一次登录:
/var/log/lastlog
---- lastlog - 登录成功记录:
/var/log/wtmp
----------- last - 登录日志记录:
/var/log/secure
— cat /vat/log/secure - 目前登录的用户信息:
/var/run/utmp
---- w、who、users(从左到右展示的信息这逐渐变少) - 计划任务记录:
/var/log/cron
- 历史命令记录:
history
查询日志方式:
- 1、grep 显示前后几行信息, 标准 unix/linux 下的 grep 通过下面參数控制上下文:
grep -C 5 foo file
显示 file 文件里匹配 foo 字串那行以及上下 5 行grep -B 5 foo file
显示 foo 及前 5 行grep -A 5 foo file
显示 foo 及后 5 行grep -V
查看 grep 版本号
- 2、grep 查找含有某字符串的所有文件
grep -rn "hello,world!" *
- * 表示当前目录所有文件,也可以是某个文件名
- -r 是递归查找
- -n 是显示行号
- -R 查找所有文件包含子目录
- -i 忽略大小写
- 3、如何显示一个文件的某几行:
cat input_file | tail -n +1000 | head -n 2000
- 从第 1000 行开始,显示 2000 行。即显示 1000~2999 行
- 4、
find / -name init
- 在目录 /(即根目录) 中查找文件 init
- 5、只是显示 /etc/passwd 的账户
cat /etc/passwd |awk -F ':' '{print $1}'
- awk -F 指定域分隔符为 ‘:’,将记录按指定的域分隔符划分域
- 填充域:$0 则表示所有域,$1 表示第一个域,$n 表示第 n 个域。
中间件
Apache:
- 一般都是在Apache安装目录的logs子目录中,日志文件路径可根据实际安装情况在Apache的配置文件httpd.conf中进行比较。
IIS:
- 日志位置:
%SystemDriver%\inetpub\logs\LogFiles\
Weblogic:
- WebLogic 8.x 版本:
$MW_HOME\user_projects\domains\<domain_name>\<server_name>\access.log
- WebLogic 9 及以后版本:
$MW_HOME\user_projects\domains\<domain_name>\servers\<server_name>\logs\access.log
Tomcat:
- 日志位置:tomcat目录下的logs文件夹下。
- 有任何问题欢迎评论区留言,上文若是信息有误,评论区随便吐槽,看必回!😁