《日志管理与分析权威指南》一2.2 日志的概念

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

本节书摘来华章计算机《日志管理与分析权威指南》一书中的第2章 ,第2.2节,(美) Anton A. Chuvakin Kevin J. Schmidt Christopher Phillips 著 姚 军 简于涵 刘 晖 等译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 日志的概念

大多数操作系统都具备某种类型的日志记录功能,能够生成日志消息。然而,许多计算机用户(听起来令人惊讶,这其中包括系统管理员)并不知道日志的存在,更不要说去查看它们了。有三个主要原因驱使我们研究日志的来源范围。
首先,安全日志记录(Security logging)着眼于攻击、恶意软件感染、数据窃取及其他安全问题的检测和响应。聚焦于安全的日志记录的典型例子就是用户身份认证(登录)的记录,以及意在分析某人是否具有访问某个资源的合适授权的访问决策。
其次,运营日志记录用于为系统操作人员提供有用的信息,例如通知他们系统故障和潜在的可操作条件。运营日志也可能被用于服务配给甚至是财政决策(基于访问的定价,Web服务器访问日志是日志用于业务而不仅限于IT操作的常见例子)。这一类日志来源极为广泛,涵盖了大量的日志类型。
另外,依从性日志记录通常和安全日志记录有大量重叠,因为法规通常是为了改进系统和数据的安全而制定的。知道两类依从性日志记录的区别是极其重要的:影响IT的法规和强制要求(例如PCI DSS、HIPAA、ISO、ITIL等)以及通用准则等系统法规、其他系统设计和安全强制要求。
最后,应用程序调试日志记录(application debug logging)是特殊的一类日志记录,它服务于应用程序或系统开发人员而非系统操作人员。这种日志记录通常在生产系统中被禁用,但可以在必要时启用。许多调试日志中的消息可以供完全了解应用程序或者掌握应用程序源代码的开发人员进行分析。
上述四类日志记录由几乎所有日志源(事件生产者)产生,但是可以由不同的系统(事件消费者)以不同的方式分析或消费。
操作系统产生的日志自然属于以上所讨论的范围。例如,Windows XP、Vista以及Windows 7都有一个被叫做“事件日志”(Event Log)的日志记录系统。当系统中发生特定的事件,操作系统或某个应用程序会向事件日志系统中写入一些信息。举个例子,当某Windows程序崩溃后,往往有一个查看“更多细节”的选项,大部分用户很乐意忽略它们。那些信息正是最终进入事件日志的内容。
精明的“高级用户”由于经历过Windows NT 3.5那些“糟糕的日子”,已经知道在哪找到事件查看器(Event Viewer)(见图2.1)。

image


Unix系统的日志记录技术叫做syslog,它使人们回想起20世纪80年代早期Unix sendmail程序的那些日子。像Windows一样,操作系统本身以及某些应用程序向syslog中写入消息。如果系统管理员并未禁用日志记录或移除日志文件(“由于硬盘空间已满”),他可能会看到如下条消息:
image

这一条目包含日期、主机名以及生成此消息的服务名,还有消息自身的内容。这条特定的消息表示针对某个并不存在的域执行了一次DNS查询。
一些应用程序可以生成自己的日志,Web站点管理员可能对Web服务日志比较熟悉。
image

这组日志条目显示了来自不同来源(左边)的Web服务请求,包括请求的日期和时间、请求文档的位置以及表明文档交付状态的响应码(200,301以及其他)。具体地说,200表明这个文档成功显示(‘OK’代码),301表明目标被移动到了其他位置(通过google搜索“http response codes”可以找到这些代码的详细信息!)。
Web服务器日志通常会为了各种原因而被分析,包括利用率以及其他电子商务、市场类的分析。网站管理员常常挖掘Web服务器日志,研究用户概况,了解他们的行为、完成其他市场相关的任务。此外,Web服务器日志还能用来研究Web服务器性能和网站的可用性。
下面是一个Snort NIDS(网络入侵检测系统)“警报”日志消息的例子。
image

注意,在这个Snort的例子中,这些消息被称做警报,而其他NIDS/NIPS(网络入侵检测/防御系统)供应商称它为警告(alarms)或其他完全不同的名称。在所有情况下,它们实际上记录的都是一条用于向值班的操作人员或者安全分析人员告警的日志消息。
以上展示的所有日志记录系统都对安全日志分析很有用。Unix、Windows以及Web服务器日志可能包含有关该组织安全态势的重要线索。
上面列出的只是常见日志记录系统的几个例子,我们将在第9章和第15章介绍这些日志系统以及其他一些系统。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
15天前
|
监控
查看服务器/IIS日志、log、访问信息基本方法
除了手动查看,你也可以使用日志分析工具,如Log Parser、AWStats等,这些工具可以帮助你更方便地分析日志数据。
8 1
|
23天前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
34 4
|
23小时前
|
消息中间件 Kubernetes Kafka
日志采集/分析
日志采集/分析
|
24天前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解
|
6天前
|
存储 大数据 数据库
为什么要利用pt-query-digest定期分析slow query log并进行优化
为什么要利用pt-query-digest定期分析slow query log并进行优化
|
21天前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十八)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-下篇(详解教程)
【7月更文挑战第6天】本文介绍了如何使用Log4j2将日志输出到文件中,重点在于配置文件的结构和作用。配置文件包含两个主要部分:`appenders`和`loggers`。`appenders`定义了日志输出的目标,如控制台(Console)或其他文件,如RollingFile,设置输出格式和策略。`loggers`定义了日志记录器,通过`name`属性关联到特定的类或包,并通过`appender-ref`引用`appenders`来指定输出位置。`additivity`属性控制是否继承父logger的配置。
22 0
|
21天前
|
JSON 应用服务中间件 开发工具
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
|
21天前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
|
22天前
|
应用服务中间件 开发工具 nginx
Ngnix09目录结构分析,使用tree工具可以Ngnix目录中以一个树的方式呈现出来,yum install -y tree,tail -f nginx/logs/access.log
Ngnix09目录结构分析,使用tree工具可以Ngnix目录中以一个树的方式呈现出来,yum install -y tree,tail -f nginx/logs/access.log
|
22天前
|
XML Java 测试技术
《手把手教你》系列基础篇(八十七)-java+ selenium自动化测试-框架设计基础-Log4j 2实现日志输出-上篇(详解教程)
【7月更文挑战第5天】Apache Log4j 2是一个日志框架,它是Log4j的升级版,提供了显著的性能提升,借鉴并改进了Logback的功能,同时修复了Logback架构中的问题。Log4j2的特点包括API与实现的分离,支持SLF4J,自动重新加载配置,以及高级过滤选项。它还引入了基于lambda表达式的延迟评估,低延迟的异步记录器和无垃圾模式。配置文件通常使用XML,但也可以是JSON或YAML,其中定义了日志级别、输出目的地(Appender)和布局(Layout)。
23 0