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

简介:

本节书摘来华章计算机《日志管理与分析权威指南》一书中的第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日志并进行多维度分析。
相关文章
|
2月前
|
监控 Android开发 C语言
深度解读Android崩溃日志案例分析2:tombstone日志
深度解读Android崩溃日志案例分析2:tombstone日志
30 0
|
2月前
|
Go 数据处理 Docker
elk stack部署自动化日志收集分析平台
elk stack部署自动化日志收集分析平台
49 0
|
2月前
|
Java Spring
【Spring Boot】logback和log4j日志异常处理
【1月更文挑战第25天】【Spring Boot】logback和log4j日志异常处理
|
2天前
|
数据库
redo log日志格式
redo log日志格式
|
2天前
|
SQL 数据采集 JSON
弱结构化日志 Flink SQL 怎么写?SLS SPL 来帮忙
弱结构化日志 Flink SQL 怎么写?SLS SPL 来帮忙
123277 0
|
5天前
|
应用服务中间件 nginx
百度搜索:蓝易云【nginx记录分析网站响应慢的请求(ngx_http_log_request_speed)】
需要注意的是,使用自定义的Nginx模块需要对Nginx的编译和配置有一定的了解。如果对Nginx和模块的配置不太熟悉,建议先仔细阅读相关文档和教程,确保操作正确。此外,模块的稳定性和兼容性也需要进行一定的测试和验证。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
15 0
|
25天前
|
监控 安全 数据库
Binlog vs. Redo Log:数据库日志的较劲【高级】
Binlog vs. Redo Log:数据库日志的较劲【高级】
70 0
|
25天前
|
存储 缓存 关系型数据库
Binlog vs. Redo Log:数据库日志的较劲【基础】
Binlog vs. Redo Log:数据库日志的较劲【基础】
52 0
|
25天前
log4j2.xml的日志打印配置
log4j2.xml的日志打印配置
16 0
|
1月前
|
存储 缓存 关系型数据库
Mysql专栏 - redo log日志细节
Mysql专栏 - redo log日志细节
55 0