怎样筛选报错警告事件日志

联启 电脑工具 1

本文目录导读:

怎样筛选报错警告事件日志-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. Windows 系统(事件查看器)
  2. Linux 系统(系统日志)
  3. 大型系统 / 集中式日志管理(如 ELK, Splunk, Graylog)
  4. 关键技巧与注意事项

筛选报错警告事件日志,核心思路是根据日志级别来源事件ID以及时间范围进行精确过滤,具体的操作方法取决于你使用的操作系统和工具(如Windows事件查看器、Linux系统日志、ELK等)。

以下是针对不同场景的详细筛选方法:

Windows 系统(事件查看器)

这是最常见的场景,Windows将日志分为不同的“级别”,错误”和“警告”是需要关注的重点。

使用图形界面(事件查看器)

  • 打开事件查看器Win + R,输入 eventvwr.msc 并回车。
  • 创建自定义视图(推荐)
    • 在左侧菜单栏,右键点击 “自定义视图” -> “创建自定义视图”
    • 日志时间:选择“过去24小时”或“过去7天”。
    • 事件级别勾选“错误”和“警告”(“严重”通常也建议勾选)。
    • 事件日志:选择“Windows日志”下的“应用程序”、“系统”等(或勾选“所有事件日志”)。
    • 来源/事件ID:可留空,或填入已知的关键来源(如 Microsoft-Windows-User-Device-Registration)。
    • 点击确定并命名视图(如“错误与警告”)。
    • 结果:系统将实时筛选出所有符合条件的日志。

使用 PowerShell 脚本(高效批量筛选)

对于服务器或需要自动化处理的情况,PowerShell 非常强大。

  • 基础命令(筛选“错误”和“警告”)

    # 获取系统日志中过去24小时内的错误和警告
    Get-WinEvent -FilterHashtable @{LogName='System'; Level=1,2,3; StartTime=(Get-Date).AddDays(-1)}
    # Level: 1=严重, 2=错误, 3=警告, 4=信息
  • 进阶过滤(指定关键字或事件ID)

    # 筛选包含“disk”或“1202”的警告/错误
    Get-WinEvent -FilterHashtable @{LogName='System'; Level=2,3} | Where-Object {$_.Message -match "disk|1202"}
  • 导出到CSV(方便分析)

    Get-WinEvent -FilterHashtable @{LogName='System', 'Application'; Level=2,3} | Export-Csv -Path "C:\report.csv" -NoTypeInformation

Linux 系统(系统日志)

Linux的日志通常存储在 /var/log/ 目录下,主要文件有 syslogmessageskern.log 等。

使用 grep 命令(最常用)

  • 直接搜索日志级别关键字

    # 搜索所有包含 "error" 或 "warning" 的行(不区分大小写)
    grep -i -E "error|warning" /var/log/syslog
  • 结合 journalctl(systemd系统,如Ubuntu 16.04+, CentOS 7+) journalctl 是管理 systemd 日志的首选工具。

    # 查看所有优先级为 err (错误) 和 warning (警告) 的日志
    journalctl -p err -p warning
    # 查看最近30分钟内的错误日志
    journalctl --since "30 min ago" -p err
    # 查看特定服务(如sshd)的错误日志
    journalctl -u sshd --since "today" -p err

日志级别代码(journalctl -p 可用的优先级)

  • 0 emerg (紧急)
  • 1 alert (警报)
  • 2 crit (严重)
  • 3 err (错误)
  • 4 warning (警告)
  • 5 notice (通知)
  • 6 info (信息)
  • 7 debug (调试)

大型系统 / 集中式日志管理(如 ELK, Splunk, Graylog)

在分布式系统或微服务架构中,日志分散在两台服务器,需要用到集中式日志平台。

Elasticsearch + Kibana (ELK)

  • KQL 查询:在 Discover 页面搜索框中输入: log.level: ("ERROR" OR "WARN")level: ("error" OR "warn")
  • 添加过滤条件:点击左侧字段(如 kubernetes.namespaceservice.name),添加正向或负向过滤。
  • 时间范围:右上角选择“Last 15 minutes”或自定义范围。

Splunk

  • SPL 查询语法index=main sourcetype=access_combined status>499 OR status=200 (虽然这里是HTTP状态码,但原理类似,对于通用日志,通常搜索:) source="/var/log/syslog" (ERROR OR WARNING)

关键技巧与注意事项

  1. 区分“错误”与“警告”

    • 错误 (Error):通常表示功能失效、数据丢失或系统崩溃。需要立即处理
    • 警告 (Warning):表示潜在的、非紧急的问题,比如磁盘空间即将满了、某个服务重启了。需要关注并计划处理
    • 信息 (Information):正常操作记录,无需处理,但可用于溯源。
  2. 利用“事件ID”进行精准定位: 在Windows中,许多常见的错误都有固定的事件ID(ID)。

    磁盘错误(ID 157),系统崩溃(ID 6008),服务启动失败(ID 7000),你可以在自定义视图中直接输入事件ID进行过滤。

  3. 避免被“信息”级别淹没: 默认情况下,系统会记录大量信息,如果是日常监控,只勾选“错误”和“警告”,可以显著减少噪音,让你聚焦在真正的问题上。

  4. 关注“来源”与“应用程序”: 如果一个错误日志显示来源是 Disk,说明是磁盘相关;如果是 ESENT,说明是数据库引擎问题,这能帮你快速判断故障模块。

  5. 设置自动筛选规则

    • Windows:可以创建计划任务,当特定事件ID被触发时(如ID 1000的应用崩溃),自动发送邮件或执行脚本。
    • Linux:使用 auditdlogwatch 自动筛选并发送报告。
    • ELK/Splunk:设置告警,当一分钟内出现5个ERROR时触发通知。

总结操作步骤:

  1. 确定系统类型 (Windows / Linux / 云平台)。
  2. 打开对应的日志查看工具
  3. 设置过滤条件:日志级别 = 错误警告,时间范围 = 最近24小时
  4. 补充过滤(可选):来源、事件ID、关键字。
  5. 分析结果:查看时间戳、来源、具体描述(Message)。
  6. 导出或告警:将结果保存为文件,或设置自动化响应。

通过以上方法,你可以快速从海量日志中捞出真正有价值的“报错警告”。

标签: 事件日志

上一篇如何清空老旧无用系统日志

下一篇当前分类已是最新一篇

抱歉,评论功能暂时关闭!