智维数据智能运维技术专题一:数据可视化之HSL

智维数据【智能运维技术专题】概览

随着互联网不断发展,为了适应高并发、大流量业务,负载均衡技术在整个IT架构中占据着重要地位。

F5作为全球领先的应用交付厂商,为全球大型企业、运营商、政府与消费品牌提供更加快速、安全以及智能的应用。

随着语音、数据、视频流量、移动员工和应用的迅猛增长,F5在满足企业和机构IT需求的同时,也抓住了市场的潜在机遇。通过收购Nginx,进一步巩固了市场地位。

智维数据(nCompass)通过与F5 LTM、F5 GTM、Nginx对接,助力企业实现业务长期稳定运行。

1、通过iControl集中管理所有F5设备,减少IT人员维护成本。

2、通过HSL获取Http、DNS、系统日志,并进一步分析处理,助力企业保障业务稳定运行。

3、通过Telemetry Streaming,监控设备性能指标,助力企业保障设备稳定运行。

4、通过Nginx日志分析网站运行情况,助力企业保障业务稳定运行。

5、通过综合数据分析实现端到端的可视化,助力IT人员更加了解自己业务架构。

数据可视化之HSL

1.1   前言

4.png

F5为了打造自己的生态,不断增强可扩展性,同时提供了很多工具链,部分如下:

F5 Application Services 3 Extension简称AS3。通过使用声明性模型对应用程序进行配置,由此可以打造基于F5的CI/CD平台。

F5 iControl LX是F5扩展性的基础,通过REST API可以获取配置信息,状态信息等。

F5 Telemetry Streaming简称TS。TS是独立于TMOS的RPM包,作为iControl LX扩展。规范化将统计信息和事件从BIG-IP转发到消费者。例如Fluentd、ES、S3存储等。功能非常强大,作为F5的监控工具,未来必定是一个趋势。

如今业务复杂性越来越高,对自动化、智能化需求也变得非常迫切,我们可以基于F5提供的工具链打造自己运维自动化和监控平台。同时借助F5自身的日志输出来分析和优化我们的业务,本章主要介绍如何利用HSL来分析http日志。后面我们会分享TS和iControl的一些应用场景。

1.2   HSL是什么

HSL是一种高容量,低开销的日志记录机制。HSL支持通过TCP或者UDP方式将日志发送到日志平台。HSL的CPU和内存使用率非常低,CPU占用小于10%,几乎没有什么内存开销。

1.3   HSL应用场景

HSL收集日志通常包含很多字段,有了这些字段我们就可以基于一些场景做分析:

运营分析:通过一天日志总请求量,计算UV、PV、独立IP。整体了解自己网站运营情况。

负载调度分析:通过$VIRTUAL_POOL_NAME、$SERVER_IP来分析调度算法是不是合理,避免分配不均的情况出现。

用户分布:可以统计IP、UA的分布做集中展示。

性能分析:通过$RESPONSE_USECS可以分析请求的响应时间,优化请求慢的URL。

行为审计:通过Audit Log对F5管理员行为进行审计,完善企业安全建设。

系统日志分析:通过System Log 对系统状态进行诊断。例如Member的up、 down信息,Pool的健康检查信息等。

1.4   通过HSL收集HTTP日志

1 Profile—> Other—> Request Logging (默认request-log是系统自带的profile模板,不能删除。

2点击Create,填写name,Parent Profile引用系统的模板

Template是日志模板格式,HSL Protocol我们选择UDP。Pool Name指定把日志发送到哪个Pool里面,Pool里面定义的Member是用来接收日志的服务器。

Pool配置如下:日志会发送到192.168.40.70服务器的20001端口

F5 LTM 常用日志字段如下:可以根据自己需要添加

3关联VS:我们已经定义好了Profile,需要关联具体VS。也就是说Logging Profile是Virtual Services作为区分的,没有全局的。点击进入到具体Virtual Services,在Configuration选择Advanced,找到Logging Profile选项,选择之前定义好的Profile。(此处VS type是standard,使用http profile)

1.5   通过HSL收集系统日志

1 工作流程:

LTM or GTM —> Log Filter —> Log Publisher —> Log Destinations

2 系统日志收集配置步骤如下:

找到System —> logs —> Configuration

首先配置Log Destinations,配置如下:

Name:根据自己情况自己定义。

Type:选择Remote High-speed Log。

Protocol:选择UDP,也可以选择TCP根据自己情况来,建议使用UDP。

Pool Name:选择要转发的地址池,地址池里面配置具体Member和端口,端口根据自己情况设置即可。

Distribution:选择adaptive,也可以选择balanced和replicated,根据自己情况来。

Name:根据自己情况自己定义

Type:选择Remote Syslog

Syslog Format:推荐选择BSD Syslog

Forward To:选择图1.5.1定义的Log Destinations

为什么既要定义Remote Syslog也要定义Remote High-speed Log?只定义一个不行吗?可以只定义Remote High-speed Log,不定义Remote Syslog,如果要定义Remote Syslog必须先定义Remote High-speed Log。此处定义Remote Sylog主要是因为输出的日志遵循BSD的规范,方便后面解析。很重要!!!

配置Log Publishers:

Name:根据自己情况定义

Destinations:选择图7定义的Dest-syslog

配置Log Filters:

Name:根据自己情况定义

Severity:根据自己情况选择,建议Notice。

Source:选择all,也可以选择其他选项较多,此处不一一列举

Log Publisher:选择图8定义的Publisher-hsl

1.6   智维数据(nCompass)日志分析平台

通过上面配置我们已经获取了F5 http日志和系统日志。接下来就是如何分析,目前智维数据(nCompass) 日志分析平台可以处理和分析任何日志。包括但不仅限于负载均衡、Tomcat中间件、数据库等并提供如下能力:

应用梳理:基于F5 数据,快速、准确的呈现应用间的访问关系,为网络、应用、安全部门提供数据支撑。

IPv6统计:基于F5 数据,提供应用的IPv6/IPv4的运行统计分析,提供IPv6应用运行状态的可视化能力。

异常监控:基于F5 日志数据及TDA平台的算法库,实现零配置的异常检测、告警,主动发现异常事件。

智能分析:基于F5 日志数据及TDA平台的知识图谱,实现告警事件的智能分析,降低MTTR,提升用户体验。  

优化统计:基于F5 日志数据,主动发现应用存在的错误、慢、重载等隐患页面,为应用部门优化应用提供数据支撑。

指标监控:基于F5数据实时查看每个VS以及Member的运行状态,可提供多个指标数据,为业务状态监控提供数据支撑。

有了这些数据,智维数据(nCcompass)日志分析平台可以根据不同场景灵活定制视图,使得客户更加了解自己的业务。遇到突发问题可以快速定位,甚至是提前预警。

应用梳理:

大屏展示:

1.7    下期预告

有了日志,我们还缺少对基础指标的监控,像磁盘、网络、设备信息、统计信息(流量、连接数、pool vs状态等)下期我们主要来介绍如何使用Telemetry Streaming来完善F5监控以及如何配置Telemetry Streaming,并做具体的场景分析。