服务器日志种种(2)—-日志类型详解

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

在看了《服务器日志种种(1)》之后,对服务器上的日志大家已经有粗略的感受了吧,接下来这篇文章,小编给大伙具体讲讲,典型的服务器日志能够回答管理员哪几类问题。

 

用户如何访问

通常在线系统的最前端都是apache或者nginx类的HTTP服务器,它的日志记录了不同用户在特定时间的访问行为,举例而言,以下是一条常见的服务器访问日志:

213.60.233.243 - - [25/May/2004:00:17:09 +1200] "GET /internet/index.html HTTP/1.1" 200 6792 “http://www.aliyun-inc.com" "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.6) Gecko/20040413 Debian/1.6-5"

日志中分别讲述了访问的来源IP,访问时间,访问对象,访问结果是否成功,返回大小,访问从哪个地方跳转 访问从哪种设备而来等等信息。

 

请求处理是否正常

在通过前端服务器处理完成后,请求会交由具体的后端服务进行处理,常见的包括php或者java应用程序,通过观察是否有异常日志可以判断请求是否都处理正常,举例而言,以下是java应用服务异常日志:

[2013-10-25 00:00:29 Production Mode] – GET /search_checked_form.htm/i25587486i

ERROR c.a.c.w.impl.WebxRootControllerImpl – Full stack trace of the error TemplateNotFoundException: Could not find template “/screen/search_checked_form.htm/i25587486i”

com.alibaba.citrus.service.pipeline.PipelineException: Failed to invoke Valve[#3/3, level 3]

日志中包含了错误发生的页面,传递的参数,错误发生的接口和具体错误堆栈,通过该内容开发人员可以定位具体的错误逻辑进行修复。

 

 

各个模块状态如何

通常系统都会包含多个模块,对于每个模块运行状态日志一般由开发人员自定义并通过类似log4j和log4php等第三方库写入日志文件,举例而言,以下是某用户信息模块日志:

[2013/11/19 18:44:39][INFO][demo.log4j.Log4jDemo-20] Method:AddUser Latency:100 Status:OK[2013/11/19 18:44:39][INFO][demo.log4j.Log4jDemo-21] Method:GetUserInfo Latency:200 Status:OK[2013/11/19 18:44:39][INFO][demo.log4j.Log4jDemo-21] Method:DelUser Latency:100 Status:FAIL

日志包含了对应模块中操作的类型,操作延时和最终是否成功等相关状态,通过该内容开发管理人员可以通过自定义键值获悉模块指定操作的相关状态。

 

 

是否有安全隐患或漏洞

在正常提供服务的同时,系统管理人员也会十分关心是否有漏洞或者安全隐患可能对存储的数据或者其它敏感信息造成泄漏。所以需要记录各种审计日志对用户敏感访问行为进行审查和预警。举例而言,以下是用户登录访问日志:

2014-06-03 15:47:26&@#!abcusr_base4&@#!10.128.10.147&@#!&@#!def101500219

2014-06-03 15:47:26&@#!abcusr_base2&@#!10.128.10.47&@#!&@#!def70198810

2014-06-03 15:47:26&@#!jusrabc35u&@#!10.132.161.36&@#!&@#!wfp

日志中包含一个时间点用户从何处登录特定账号的记录,通过对日志的监控可以获悉是否有用户有异常的登录行为以进行预警和处理。

服务器本身是否正常

在服务器运行期间,硬件或者系统本身可能出现各种各样的故障,通过系统日志(类似/var/log/messages)用户可以获悉是否有异常发生。举例而言,以下是一条linux服务的的系统日志:

2013 Jun 8 23:01:01 Out of memory: Kill process 9682 (mysqld) score 9 or sacrifice child

Killed process 9682, UID 27, (mysqld) total-vm:47388kB, anon-rss:3744kB, file-rss:80kB

日志内容中说明了mysqld进程由于内存使用超过内核限制而被kill,通过监控此类可以及时响应系统的相关异常。

其实以上只是典型在线服务系统的一部分日志,还有其它依赖的相关日志包括数据库,网络服务,文件系统等等都能够帮助管理人员在出现问题时及时处理,除此之外,大家在管理服务时还关心哪些日志呢?比如:

  • 数据库请求日志:搞明白为什么一个用户的读取请求迟迟不能返回
  • 模块性能日志:当前系统的各个模块都占用多少时间进行处理

…期待大家的回复。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL的服务器日志文件
本文介绍了PostgreSQL数据库的物理存储结构,重点讨论了服务器日志文件。通过`pg_ctl`命令启动PostgreSQL实例时,使用`-l`参数指定日志文件位置,记录数据库启动、运行及关闭过程中的关键信息。附有相关视频讲解和日志文件示例。
|
2月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
49 2
|
2月前
|
存储 网络协议 网络安全
|
3月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
73 1
|
3月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
68 1
|
4月前
|
关系型数据库 MySQL 应用服务中间件
服务器端日志在哪里
服务器端日志在哪里
|
5月前
|
Prometheus 监控 Cloud Native
Web服务器的日志分析与监控
【8月更文第28天】Web服务器日志提供了关于服务器活动的重要信息,包括访问记录、错误报告以及性能数据。有效地分析这些日志可以帮助我们了解用户行为、诊断问题、优化网站性能,并确保服务的高可用性。本文将介绍如何使用日志分析和实时监控工具来监测Web服务器的状态和性能指标,并提供具体的代码示例。
615 0
|
2月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
773 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
3月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
417 3