前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ELK学习笔记之F5利用ELK进行应用数据挖掘系列(1)-HTTP

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

作者头像
Jetpropelledsnake21
发布2019-03-20 10:05:48
1.1K0
发布2019-03-20 10:05:48
举报
文章被收录于专栏:JetpropelledSnakeJetpropelledSnake

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/

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-03-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 概述
  • 0x01 架构原理
  • 0x02 ELK搭建
  • 0x03 LogStash配置文件
  • 0x04 F5侧配置
  • 0x05 Elastic search集群状态
  • 0x06 Kibana数据分析
  • 参考
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档