《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.16. Machine learning ——3.5.16.3.Anomaly detection(1) https://developer.aliyun.com/article/1227225
三、常用 API 介绍
1.基本 API 简介,可以通过如下 API 操作 job 和 datafeed。
# 查看所有的异常检测job GET _ml/anomaly_detectors # close job POST _ml/anomaly_detectors/first_detectors/_close # open job POST _ml/anomaly_detectors/first_detectors/_open # close all job POST _ml/anomaly_detectors/_all/_close # 根据 job_id 删除 job DELETE _ml/anomaly_detectors/first_detectors # 查看所有的 datafeed GET _ml/datafeeds # stop datafeed POST _ml/datafeeds/first-datafeed/_stop # stop all datafeed POST _ml/datafeeds/_all/_stop # 删除 datafeed DELETE _ml/datafeeds/first-datafeed
2.重新启动失败的异常检测 job。
2.1 强制停止 datafeed 任务。
POST _ml/datafeeds/first_detectors/_stop { "force": "true" }
2.2 强制关闭异常检测 job。
POST _ml/anomaly_detectors/first_detectors/_close?force=true
2.3 通过 API 打开 job 和 dataFeed,完成重启。
# 重新打开job POST _ml/anomaly_detectors/first_detectors/_open # start dataFeed任务 POST _ml/datafeeds/first-datafeed/_start?start=1970-01-02T10:00:00Z&end=2021-09-09T00:00:00Z
也可以通过 Kibana 的 Job management 模块完成 job 的重启。
2.4 如果重启依然失败则需要检测错误原因。
四、基本使用
1. 前提条件
1、打开机器学习功能,机器学习功能为白金版,此处开启试用 30 天。
2、集群中至少有一个开启机器学习功能的节点,且集群所有带 master 角色的 node 必须启用机器学习。默认情况下所有节点都是机器学习节点。
2. 数据准备
这里选择社区提供的用于测试的时序数据。
# 拉取社区分享的测试数据和脚本到本地 git clone https://github.com/liu-xiao-guo/machine_learning_data
# 对脚本进行一定的修改,执行脚本将数据写到 ES 集群 ./cf_rfem_hist_price_bulk_index.sh
3. 创建异常检测 job 的方式
可以通过异常检测 API 或 Kibana 来创建异常检测 job。
3.1 使用 API 创建
前提条件:如果启用了 Elasticsearch 安全功能,必须拥有 manage_ml 或 manage 集群权限才能使用此 API。
注意事项:job 的相关数据是存在 .ml-config 内部索引,不允许通过 index 相关 API 直接往 .ml-config 索引插入数据。
3.2 使用 Kibana 创建
前提条件:提前创建好 index pattern 或者 saved search(dashboard 页面可以保存的
query 语句)。
《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.16. Machine learning ——3.5.16.3.Anomaly detection(3) https://developer.aliyun.com/article/1227221