云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

腾讯云_lol大区服务器_折扣

小七 141 0

在博客的前几部分中,我们已经了解了ELK stack的基础知识,并演示了如何实时可视化和警告SAP HANA日志的严重错误。在本部分中,我们将探讨如何使用麋鹿机器学习功能来监控HANA日志,并就典型监控解决方案和人类无法察觉的异常情况通知操作团队。

机器学习?

机器学习是目前软件行业最为繁重的术语之一,淘客app定制,因为从根本上讲,它用于描述数据驱动预测、决策和建模的广泛算法和方法。

异常检测是在数据中发现不符合"正常"行为模型的模式的问题。检测这些变化的典型方法要么使用简单的人工计算阈值,要么使用平均值和标准偏差来确定数据何时显著偏离平均值。

现在,通过机器学习,你可以更深入地问一些问题,比如"我的服务有没有改变行为?"或者"在我的主机上运行的进程是否异常?"这些问题需要主机或服务的行为模型,可以使用机器学习技术从数据中自动构建。

最近elasticsearch在2017年5月发布了机器学习功能,X-Pack的机器学习功能集中于使用无监督机器学习提供"时间序列异常检测"功能。

用例:

从大量非结构化日志中确定异常总是一个挑战。在SAP-HANA环境中,公众号返利,有不同的HANA组件,它们的日志通常是巨大的,从每个组件中发现异常是相当有挑战性的。作为我们开放ITOA的一个扩展,我们希望在ELK中使用ML的功能,并从一个实时SAP HANA环境的大量日志文件中发现异常情况。

我们已经从HANA服务器收集了3个月的以下组件的日志。

1)名称服务器

2)索引服务器

3)XSengine

您可以使用机器学习来观察静态部分消息,将相似的消息聚集在一起,免费大数据,并将它们分类为消息类别。机器学习模型学习什么体积和模式是正常的每一类随着时间的推移。然后,您可以通过使用计数或罕见函数来检测异常情况,并显示罕见事件或不寻常类型的消息

罕见函数检测的值在时间上很少出现或在时间上很少出现人口。它根据不同稀有值的数量检测异常。

麋鹿ML是如何工作的?

概述

在X-Pack中,机器学习的核心概念很少。从一开始理解这些概念将非常有帮助。

作业

机器学习作业包含执行分析任务所需的配置信息和元数据。

数据源

作业可以一次性地分析一批数据,也可以连续实时地分析。Datafeeds从Elasticsearch检索数据进行分析。或者,您可以将来自任何源的数据直接发布到API。

检测器

作为与作业相关的配置信息的一部分,检测器定义需要执行的分析类型。它们还指定要分析的字段。作业中可以有多个检测器,这比针对同一数据运行多个作业更有效。

bucket

X-Pack机器学习功能使用bucket的概念将时间序列划分为多个批次进行处理。bucket span是作业配置信息的一部分。它定义了用于汇总和建模数据的时间间隔。这通常在5分钟到1小时之间,这取决于您的数据特征。设置bucket span时,请考虑要分析的粒度、输入数据的频率、异常的典型持续时间以及需要警报的频率。

机器学习节点

机器学习节点是具有xpack.ml.已启用以及节点.ml设置为true,这是默认行为。如果你设置节点.ml如果为false,则节点可以为API请求提供服务,但不能运行作业。如果您想使用X-Pack机器学习功能,您的群集中必须至少有一个机器学习节点。

分析功能。

X-Pack机器学习功能包括分析功能,可提供多种灵活的方法来分析数据异常。大多数函数检测低值和高值的异常。在统计学术语中,他们采用双边检验。有些函数提供低和高变化(例如,计数、低计数和高计数)。这些变化适用于单侧测试,仅当值低或高时检测异常,取决于选择哪一种已使用。如果您的数据是稀疏的,数据中可能有空白,这意味着您可能有空的存储桶。您可能希望将这些视为异常,或者希望忽略这些间隙。你的决定取决于你的用例和什么对你来说是重要的。这还取决于您使用的功能。

步骤1:下载并安装X-pack麋鹿堆叠软件包

安装Elastic search,Kibana和logstash如前一篇博客所述。

https://blogs.sap.com/2017/01/23/visualize-sap-hana-logs-in-real-time-with-open-stack-it-operation-analytics-use-elk-stack/

第2步:配置Logstash

启动ELK堆栈(Elastic,Kibana,logstatsh)

定义输出到本地elasticsearch服务器。日志被写入默认索引,但我们创建了一个名为"hanalogIndex"的专用索引(总是希望有一个专用索引),它将日志行作为值存储到elasticsearch,并使其可供进一步处理。因为ELK中的ML使用原始日志的时间戳,将时间戳与实际的HANA日志时间戳进行映射非常重要

创建专用索引

我们已从我们的HANA环境之一传输了以下日志文件

使用以下配置文件执行日志存储

将配置文件保存在logtash bin目录中并执行以下命令以启动日志存储

您可以注意工作过滤器,如下图所示

第3步:Kibana配置

打开Kibana界面,选择需要为其创建可视化索引的索引模式。

在"发现"选项卡中,我们可以注意到最新的文档,如果为所选索引模式配置了时间字段,则文档的分布将超过时间以柱状图形式显示在页面顶部。

第4步:配置Kibana中的ML

创建ML作业:

进入Kibana中的机器学习选项卡,点击创建"创建新作业",选择高级作业。

选择输入索引和我们需要执行ML作业的所有相关类型检测

给出唯一的作业ID和描述,并勾选在作业的分析配置选项卡上使用ML专用索引的复选标记

使用以下桶、类别设置,探测器和影响者

请通过下面的链接了解有关ML作业的更多详细信息:

https://www.elastic.co/guide/en/x-pack/current/xpack-ml.html

确认在Datafeed选项卡中选择了正确的索引

现在保存作业配置

您将获得已保存作业的确认,并请求启动数据馈送

启动数据馈送:

点击启动数据馈送

我们可以选择数据馈送中的时间范围,但在我们的用例中,我们会选择从开始到结束的数据,并选择启动

您会注意到作业已经启动,处理的记录数将增加,等待作业状态变为关闭。

在此阶段,使用我们配置的检测器和影响者分析数据,并写入每个bucket的得分

现在作业完成,点击操作中的异常浏览器

在异常浏览器中查看结果:

您可以注意到总体异常和个别异常在异常资源管理器屏幕中,每个组件(类型)的异常情况

我们甚至可以通过单击时间线图表上的特定部分进行更深入的了解。

例如,企业交流软件,我们可以注意到在特定日期的所有3个组件中都有一个共同的异常情况,我们可以选择这些部分并查看相同