轻松利用日志动态分析平台玩转Nginx运维管理( 三 )


轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
(3) 数据建模完成字段的解析,下一步就是对数据进行建模,根据Nginx运营管理场景的需求来实现逻辑,包括两种方式:
  • 利用视图构建虚拟模型
    轻松利用日志动态分析平台玩转Nginx运维管理

    文章插图
视图,是由SQL语句组成的查询定义的虚拟表,是一个逻辑上抽象的虚拟表,用来存储查询逻辑 。实际应用中 , 可以利用视图进行过滤、分桶等操作 。
  • 利用物化视图构建物理模型

轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
物化视图是一种特殊的物理表,"物化"(Materialized)了查询的结果 。和普通视图仅保存SQL定义不同,物化视图会存储SQL预计算结果的数据集 , 适用于数据聚合加速等场景 。
在实际应用中,建议通过视图来构建物化视图,这样会让概念逻辑更加清晰,具有结构化的意义 , 修改或者调整的成本更低 。
此外,建议用户为各资源定义合理的命名规范(如vw,mat等) , 以区分视图和物化视图 。
(4) 数据可视化完成了模型的构建,下一步即可创建图表,以实现可视化 。在鸿鹄系统中 , 可以通过仪表板构建多个图表 。以HTTP网络流量统计为例,实现过程如下:
  • 图表构建
第1步:数据探索 -> 生成期望的分析结果数据 。
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
首先基于实现的场景来进行数据探索,如上图所示,通过SQL实现该场景下的一些计算逻辑 , 生成分析结果数据;进而将其添加到可视化的UI板中,生成可视化图表 。
第2步:根据分析结果数据直接创建可视化图表,按需更改钻取交互的配置图表构建 。
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
第3步:调整可视化图表的属性 , 达到预期展现效果 。
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
完成图表创建后,通过调整可视化的仪表板的各类属性,即可达到用户预期的展现效果;该模块支持用户自定义,以及eCharts等更高级的功能 。
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
  • 仪表板构建——Nginx运营管理
类似上述的过程,创建多个图表,最终构建成一个仪表板 。以“Nginx运营管理”这一实际使用场景为例:
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
【轻松利用日志动态分析平台玩转Nginx运维管理】其中,所有图表均由“日期”下拉框决定时间范围和“系统名称” , 下拉框决定观察对象 。具体图表包括:
  • HTTP网络流量统计 (MB)
  • 页面访问量PV
  • 页面访问量PV vs. CPU使?率
  • HTTP请求方法分布
  • HTTP请求状态码分布 (图表4中钻取的时间段)
  • 访问来源分布
  • 访问来源客户端类型分布
  • Top10访问来源模块统计
  • Top10热门页面访问统计
  • 页面访问失败统计
  • 异常操作记录
以上这11种图表涵盖了大多数通用的应用场景 。其中,图表④和图表⑤之间形成联动 。
轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
(5) 扩展话题完成了仪表板的构建,下面分享一些扩展话题 。
  • 告警开发
基于查询字段以及建模的视图物化视图,可以进行告警开发 。例如前文所述,可基于仪表板中的异常操作记录进行告警开发,以确保异常记录的时效性 。
  • 创建“告警”

轻松利用日志动态分析平台玩转Nginx运维管理

文章插图
如上图所示,利用自定义触发条件设定阈值,进而形成告警记录;再通过邮件、webhook等方式将告警结果通知给相关人员 。


推荐阅读