Link Search Menu Expand Document Documentation Menu

按查询和按桶监控器

按查询监视器是一种警报监视器,可用于识别针对 OpenSearch 索引运行的特定查询并发出警报;例如,检测并响应特定查询中异常的查询。按查询监视器一次只触发一个警报。

按桶监视器是一种警报监视器,可用于识别由针对 OpenSearch 索引的查询创建的特定数据桶并发出警报。

这两种监视器类型都支持使用与跨集群搜索相同的 cluster-name:index-name 模式或使用 OpenSearch Dashboards 2.12 或更高版本来查询远程索引。

通过 Dashboards UI 创建跨集群监视器需要以下权限cluster:admin/opensearch/alerting/remote/indexes/getindices:admin/resolve/indexcluster:monitor/healthindices:admin/mappings/get

Cluster metrics monitor

创建按查询或按桶监视器

要创建按查询监视器,请按照以下步骤操作

步骤 1. 定义查询和触发器。您可以使用以下任何一种方法:可视化编辑器、查询编辑器或异常检测器。

  • 可视化定义适用于可以定义为“某个值在某个时间段内高于或低于某个阈值”的监视器。它也适用于大多数监视器。

  • 查询定义提供了关于您的查询(使用OpenSearch 查询 DSL)以及如何评估查询结果(Painless 脚本编写)的灵活性。

以下示例计算 cpu_usage 字段的平均值

     {
       "size": 0,
       "query": {
         "match_all": {}
       },
       "aggs": {
         "avg_cpu": {
           "avg": {
             "field": "cpu_usage"
           }
         }
       }
     }

您还可以使用 {{period_start}}{{period_end}} 过滤查询结果

     {
       "size": 0,
       "query": {
         "bool": {
           "filter": [{
             "range": {
               "timestamp": {
                 "from": "{{period_end}}||-1h",
                 "to": "{{period_end}}",
                 "include_lower": true,
                 "include_upper": true,
                 "format": "epoch_millis",
                 "boost": 1
               }
             }
           }],
           "adjust_pure_negative": true,
           "boost": 1
         }
       },
       "aggregations": {}
     }

“开始”和“结束”是指监视器运行的间隔。请参阅监视器变量

要可视化定义监视器,请选择 Visual editor。然后选择一个源索引、一个时间范围、一个聚合(例如,count()average())、一个数据过滤器(如果您想监视源索引的子集)以及一个分组字段(如果您想在查询中包含聚合字段)。如果您要定义按桶监视器,则至少需要一个分组字段。

可视化定义适用于大多数监视器。

如果您使用安全插件,则只能选择您有权访问的索引。有关详细信息,请参阅警报安全

要使用查询,请选择 Extraction query editor,添加您的查询(使用OpenSearch 查询 DSL),然后使用运行按钮进行测试。

监视器会按照计划指示的频率向 OpenSearch 发出此查询;检查查询性能部分,确保您对性能影响感到满意。

异常检测仅在您定义按查询监视器时可用。

要使用异常检测器,请选择 Anomaly detector 并选择您的检测器

异常检测选项用于与异常检测插件配对。请参阅异常检测

对于异常检测器,请根据检测器间隔为监视器选择适当的计划。否则,警报监视器可能会错过读取结果。例如,假设您将监视器间隔和检测器间隔都设置为 5 分钟,并且您在 12:00 启动检测器。如果在 12:05 检测到异常,它可能在 12:06 才可用,因为写入异常和异常可用于查询之间存在延迟。监视器在 12:00 到 12:05 之间读取异常结果,因此它不会获取 12:06 可用的异常结果。

为了避免此问题,请确保警报监视器的间隔至少是检测器间隔的两倍。当您使用 OpenSearch Dashboards 创建监视器时,异常检测器插件会生成一个默认的监视器计划,该计划是检测器间隔的两倍。

每当您更新检测器的间隔时,请务必更新关联的监视器间隔,因为异常检测插件不会自动执行此操作。

步骤 2. 选择监视器运行的频率,例如按时间间隔(分钟、小时、天)或按计划。如果您按时间间隔或自定义 自定义 Cron 表达式运行它,则必须提供时区。

步骤 3. 为监视器添加一个触发器。

剩余 350 字符

有问题?

想要贡献吗?