龙空技术网

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

鱼云 88

前言:

当前各位老铁们对“nginx日志导入数据库”大约比较着重,我们都想要学习一些“nginx日志导入数据库”的相关内容。那么小编在网摘上汇集了一些对于“nginx日志导入数据库””的相关文章,希望朋友们能喜欢,看官们快快来学习一下吧!

Nginx是常用的系统,其运维管理是常见的需求。本文结合实际案例,介绍如何使用日志动态分析平台(炎黄数据鸿鹄产品)完成Nginx运维管理场景的实现,涵盖了从数据导入、数据分析、数据建模、数据可视化、报警与第三方系统集成等。通过实际案例分享,展示了全新的日志动态分析平台如何通过一站式解决方案解决日志运维管理的挑战,帮助用户完成运维管理工作。维护管理工作快速高效。

(四)预期收益二、实践场景:Nginx运维管理(一)数据来源

来自Nginx的日志(包括所有客户端请求信息)是日志类型数据。

CPU监控数据来自,属于监控类数据。

来自 CMDB 的映射数据是静态数据。

(二)场景特点 2. 实际案例 1. 场景实施准备及应用

应用是平台提供的一种实现不同场景的方式,允许用户有序地组织创建的仪表板、警报等资源,从而创建完整的解决方案。

如下图所示,利用鸿鹄平台创建了一个名为“Nginx运营管理”的应用。所有后续操作和所有分析资源本身都将包含在创建的应用程序中。

因此,实现某种通用场景的最佳实践是创建一个“应用”,然后通过打包等方式实现“共享”。

数据来源

数据集是事件的集合,是用来存储事件的容器。每个查询都需要清楚地描述从哪个数据集开始查询。导入数据时,需要明确指出事件存储在哪个数据集中。

如下图所示,完成应用程序的创建后,下一步就是创建新的数据集。

数据源类型

数据源类型用于对具有统一类型属性的数据进行集合处理。平台中的数据源类型包含一系列属性,这些属性定义了数据的各种解析和处理规则,例如数据索引阶段的提取模式、查询阶段的提取模式、字段分隔符等。平台有多种开箱即用的内置数据源类型,包括ncinx、log等。数据源类型对应的字段是一个字符串,用于标记事件原始数据的格式等元信息。

在实际使用过程中,建议用户首先定义数据源类型,限制数据的适用范围;如果需要,还需要定制一些字段处理规则,与数据源类型一一对应。

2. 数据处理流程 (1) 数据导入

鸿鹄系统支持各种数据源的自动化导入操作。通过数据采集器或数据连接器,从不同数据源拉取数据并汇总到洪湖系统中。同时数据格式也多种多样,包括文件类型、数据库类型、Kafka类型等。

注意:此演示是手动导入过程。实际生产中多采用自动导入。自动导入的实现请参考用户手册“数据导入”章节设置数据源类型。

数据上传完成后,在预览界面选择自定义数据源类型。使用鸿鹄系统自动提取时间字段,并通过预览数据来确认时间字段提取的正确性。

将数据存储在目标数据集中,如上图所示,通过数据源主机支持不同的数据源,达到数据源区分的目的,避免混乱。

由于CPU数据是csv文件,因此可以使用内置的csv数据源类型导入(平台支持csv类型文件时间字段的自动识别功能)。

同样,数据源也是通过数据源主机和数据源来区分的。

资产映射数据是相对“静态”的数据,没有时间属性,表达从A到B的映射关系。对于此类数据,鸿鹄系统支持用户通过构建“查找表”来记录这种映射关系,实现资产映射管理。

上图中构建了三个查找表,fqdn、ip。新建查找表的具体界面如下图所示。

(2)数据分析

数据导入完成后,下一步就是解析数据,提取数据字段,为建模做准备。对于本例中的数据格式,由于是非结构化数据,所以使用正则表达式来提取字段。在鸿鹄系统中,实现常规解析的方式有两种:交互式划词和手动编辑。

上图可以看出,蓝色框中的彩色部分是人工分割的单词;完成单词划分后,会提示输入字段名称(右下角红圈);确定字段名称后,鸿鹄系统会自动生成正则表达式并提取字段,并提供预览界面,实现可视化交互。

如果遇到比较复杂的正则表达式,样本数据不能满足现有的正则表达式,可以进行一些手动编辑。一般来说,首先使用交互式分词来自动生成正则表达式,然后使用手动编辑来调整它们。

(3)数据建模

完成领域分析后,下一步就是根据Nginx运行管理场景的需要,对数据进行建模并实现逻辑,包括两种方法:

视图是由 SQL 语句组成的查询定义的虚拟表。它是一个逻辑上抽象的虚拟表,用于存储查询逻辑。在实际应用中,视图可以用来执行过滤、分桶等操作。

物化视图是一种特殊的物理表,它“物化”查询的结果。与普通视图只存储SQL定义不同,物化视图存储SQL预计算结果的数据集,适合数据聚合加速等场景。

在实际应用中,建议通过视图构建物化视图,这样会让概念逻辑更清晰,具有结构化的意义,减少修改或调整的成本。

另外,建议用户为每个资源定义合理的命名约定(如vw、mat等),以区分视图和物化视图。

(4)数据可视化

现在您已经完成了模型的构建,下一步是创建用于可视化的图表。在鸿鹄系统中,可以通过仪表板构建多个图表。以HTTP网络流量统计为例,实现流程如下:

步骤1:数据探索->生成所需的分析结果数据。

首先,根据实现的场景进行数据探索。如上图所示,该场景中的一些计算逻辑是通过SQL实现的,生成分析结果数据;然后添加到可视化UI板中,生成可视化图表。

步骤2:直接根据分析结果数据创建可视化图表,并根据需要更改演练交互的配置图表构建。

第三步:调整可视化图表的属性,达到想要的显示效果。

完成图表的创建后,可以通过调整可视化仪表板的各种属性来达到用户预期的显示效果;该模块支持用户定制和其他更高级的功能。

与上面的过程类似,创建多个图表并最终构建到仪表板中。以《Nginx运行管理》的实际使用场景为例:

其中,所有图表均使用“日期”下拉框确定时间范围和“系统名称”,下拉框确定观察对象。具体图表包括:

以上11种图表涵盖了最常见的应用场景。其中,图④与图⑤之间存在联动关系。

(5)拓展话题

完成了仪表板的构建之后,我们来分享一些扩展主题。

可以基于查询字段和建模视图\物化视图进行报警开发。例如,如上所述,可以根据仪表盘中的异常操作记录进行报警开发,以保证异常记录的及时性。

如上图所示,使用自定义触发条件设置阈值,形成报警记录;然后将报警结果通过电子邮件等方式通知相关人员。

通过报警记录查询,可以达到良好的管理目的。

上面说了,是在鸿鹄开发的上完成的开发。另外,鸿鹄系统还可以集成第三方可视化组件(如等)。

鸿鹄系统集成的核心思想是将复杂的计算逻辑放入鸿鹄系统中进行处理,并将其作为可视化工具来呈现结果。这里简单分享一下在国内集成洪湖系统的操作步骤。更详细的操作流程请参考相关操作文档。

添加鸿鹄插件。

配置洪湖链路信息。

构建 SQL 查询。

生成视觉表示。

鸿鹄系统还可以实现数据接口的封装功能,将复杂的SQL语句封装成查询工具。

创建“SQL 表函数”。

在鸿鹄系统中,复杂的查询计算逻辑被“包装”成“SQL表函数”。如上图所示,这个“SQL表函数”包括函数参数和参数类型。函数的输入和输出都是数据表;用户自定义功能逻辑将A形式转换为B形式。

调用“SQL 表函数”。

封装好的“SQL表函数”在应用过程中可以直接调用,因此使用下游用户界面非常方便。这样复杂的逻辑甚至不支持的逻辑都可以借助接口工具来实现;如下图为例,优化上一篇文章集成的第3步(构建SQL查询):通过调用“SQL表函数”接口直接实现可视化操作,从而实现数据计算与数据可视化的解耦。

三、总结与回顾 1、实践成果

通过数据导入、数据分析、数据建模、数据可视化等操作,最终实现了Nginx运维的完整场景应用,并实现了该场景下的数据监控和分析。这是一个典型的实际输出。

完成Nginx运行管理场景分析和监控需求。

充分满足场景特点:

可共享且易于迁移。

下图是该场景下的界面显示示例:

2. 总结与回顾

Nginx运行管理是一个通用的、共同的需求,不同的团队会使用不同的工具来实现这个需求。炎黄数据使用鸿鹄平台完成了Nginx基础版运营管理实现,使用了鸿鹄的很多基础功能,包括应用程序、数据集、数据源类型、查找表、字段处理、视图、物化视图、仪表板、报警、SQL鸿鹄系统的更多功能也等待用户去探索。

此外,我们还帮您总结了一些最佳实践,避免使用过程中“走弯路”。

该平台旨在将用户从繁琐的任务中解放出来,提高工作效率。

鱼云专注于提供高性能云服务器和物理服务器租赁服务。我们致力于为企业提供安全、稳定、高效的解决方案,确保数据无忧、业务顺畅。

标签: #nginx日志导入数据库