热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK学习笔记之F5利用ELK进行应用数据挖掘系列(1)-HTTP

0x00概述F5BIGIP从应用角度位于网络结构的关键咽喉位置,可获取所有应用的流量,针对流量执行L7层处理,即便是TLS加密的流量也可以通过F5进行SSLoffload。通过F5可以

 

0x00 概述

F5 BIGIP从应用角度位于网络结构的关键咽喉位置,可获取所有应用的流量,针对流量执行L7层处理,即便是TLS加密的流量也可以通过F5进行SSL offload。通过F5可以统一获取所有应用的请求元数据,而不用关心应用是部署在何种系统架构中,这可以大大简化针对不同应用系统进行应用性能分析、日志采集工作。BIGIP TMOS系统提供了多种方法帮助实现统一信息收集,包括:

  • HTTP Request logging profile
  • DNS logging profile
  • Avr
  • iRule HSL
  • System logging HSL

支持高速信息输出而无需过分担心性能下降。

ELK是一个功能强大的集数据收集、存储、分析、索引、可视化的开源套件,支持多种数据结构输入输出。

本文是系列文章的第一篇,描述如何利用F5 LTM HTTP request logging 功能与ELK进行整合,进行HTTP 应用性能透视与分析。通过数据分析,可以进行诸如:

  • HTTP请求类型分布
  • URL访问排名
  • 同一资源池中各个服务器的http响应延迟
  • 单URL的响应延迟
  • 访问总请求数
  • URL或服务器延迟趋势
  • URL或服务器最大最小延迟
  • 响应大小分布
  • HTTP协议版本分布
  • 访问者地理位置跟踪
  • HTTP 响应代码分布及趋势
  • HTTP响应错误率统计
  • L4连接数
  • API请求调用延迟
  • 重API分布
  • API失败率分析
  • 请求线路分布
  • 。。。。

通过持续获取应性能信息数据,建立应用性能基线。当应用流量突增时,可直观发现突发流量来自于哪里,分布在哪些链路,哪些请求属于热点请求,应用响应延迟变化,趋势,URL/API拥堵情况,服务器性能状态。以及快速增长的URL之间是否存在业务上的前后逻辑,进而可以帮助判别是否为自动化的L7 DDOS等。

 

0x01 架构原理

F5 LTM通过配置 request logging profile模板输出HTTP请求与响应有关的数据,数据通过F5的High speed logging(HSL)功能直接输出到logstash监听的TCP端口上,Logstash通过使用Grok filter对原始数据进行规则过滤,格式化后的数据输出到elasticsearch服务器,通过kibana程序进行数据整理、可视化输出,下图描述了各功能组件间关系。

 

0x02 ELK搭建

https://www.myf5.net/post/2489.htm

 

0x03 LogStash配置文件

https://github.com/myf5/f5-elk-demo/blob/master/loggprofile-logstash-xff_pre-stage.md

 

0x04 F5侧配置

1. 配置一个pool,用于被logging profile调用,该pool的成员是logstash的服务器地址,端口为上述步骤中logstash启动的端口

2. 配置request logging profile, 只需设置resposne setting部分,request部分不用设定。模板详细内容请参考 https://github.com/myf5/f5-elk-demo/blob/master/loggprofile-logstash-xff_pre-stage.md

3. 配置vs,并应用上述logging profile

4. 访问vs业务,此时所有响应消息将被发送至logstash并被输入到elasticsearch中

 

0x05 Elastic search集群状态

 

所有以f5-request开头的类型都是相关request请求数据,数据被分为5个shards,并有一个备份。

 

0x06 Kibana数据分析

创建一个以f5-request-*为索引条件的pattern

 

选择正确的搜索时间,可以在discover界面中看到原始数据的输出:

 

可视化模块的定义

最后组装dashboard进行统一展示:

以上是部分可视化分析样例,通过对原始数据的充分精细加工,可以找到更贴合实际需求的可视化输出。下一篇文章将描述如何利用DNS logging profile建立DNS性能数据透视

更详细信息请访问https://github.com/myf5/f5-elk-demo/

 

参考


推荐阅读
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 近期,微信公众平台上的HTML5游戏引起了广泛讨论,预示着HTML5游戏将迎来新的发展机遇。磊友科技的赵霏,作为一名HTML5技术的倡导者,分享了他在微信平台上开发HTML5游戏的经验和见解。 ... [详细]
  • SSAS入门指南:基础知识与核心概念解析
    ### SSAS入门指南:基础知识与核心概念解析Analysis Services 是一种专为决策支持和商业智能(BI)解决方案设计的数据引擎。该引擎能够为报告和客户端应用提供高效的分析数据,并支持在多维数据模型中构建高性能的分析应用。通过其强大的数据处理能力和灵活的数据建模功能,Analysis Services 成为了现代 BI 系统的重要组成部分。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • Bootstrap 插件使用指南
    本文详细介绍了如何在 Web 前端开发中使用 Bootstrap 插件,包括自动触发插件的方法、插件的引用方式以及具体的实例。 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • 如何高效查看Java API和源码
    在Java学习过程中,查看API文档和源码是提高编程能力的重要手段。本文将详细介绍如何使用各种工具和方法高效地查看Java API和源码。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
author-avatar
hf40kiu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有