第 7 章 警报

本章描述了 alarm 命令下的命令。

7.1. 警报创建

创建警报

使用方法:

openstack alarm create [-h] [-f {json,shell,table,value,yaml}]
                              [-c COLUMN] [--noindent] [--prefix PREFIX]
                              [--max-width <integer>] [--fit-width]
                              [--print-empty] --name <NAME> -t <TYPE>
                              [--project-id <PROJECT_ID>]
                              [--user-id <USER_ID>]
                              [--description <DESCRIPTION>] [--state <STATE>]
                              [--severity <SEVERITY>] [--enabled {True|False}]
                              [--alarm-action <Webhook URL>]
                              [--ok-action <Webhook URL>]
                              [--insufficient-data-action <Webhook URL>]
                              [--time-constraint <Time Constraint>]
                              [--repeat-actions {True|False}]
                              [--query <QUERY>]
                              [--comparison-operator <OPERATOR>]
                              [--evaluation-periods <EVAL_PERIODS>]
                              [--threshold <THRESHOLD>]
                              [--event-type <EVENT_TYPE>] [-m <METER NAME>]
                              [--period <PERIOD>] [--statistic <STATISTIC>]
                              [--granularity <GRANULARITY>]
                              [--aggregation-method <AGGR_METHOD>]
                              [--metric <METRIC>]
                              [--resource-type <RESOURCE_TYPE>]
                              [--resource-id <RESOURCE_ID>]
                              [--composite-rule <COMPOSITE_RULE>]
                              [--stack-id <STACK_NAME_OR_ID>]
                              [--pool-id <LOADBALANCER_POOL_NAME_OR_ID>]
                              [--autoscaling-group-id <AUTOSCALING_GROUP_NAME_OR_ID>]

表 7.1. 命令参数

概述

-h, --help

显示帮助信息并退出

--name <NAME>

警报的名称

-t <TYPE>, --type <TYPE>

警报类型应该是:event, composite, threshold, gnocchi_resources_threshold, gnocchi_aggregation_by_metrics_threshold, gnocchi_aggregation_by_resources_threshold, loadbalancer_member_health。

--project-id <PROJECT_ID>

与警报关联的项目(仅限 admin 用户配置)

--user-id <USER_ID>

用户与警报关联(仅限 admin 用户配置)

--description <DESCRIPTION>

警报的自由文本描述

--state <STATE>

警报的状态,其中一个:[ok, alert, insufficient data]

--severity <SEVERITY>

警报的严重性,其中一个:[low,moderate,critical]

--enabled {True|False}

如果启用了警报评估,则为 true

-- alarm-action <Webhook URL>

在状态转换到警报时调用的 URL。可以多次使用

--OK-action <Webhook URL>

在状态转换到 ok 时调用的 URL。可以多次使用

--insufficient-data-action <Webhook URL>

当状态转换为不足数据时调用的 URL。可以多次使用

--time-constraint <Time Constraint>

仅在评估的时间在此时间约束内时评估警报。约束的起点使用 cron 表达式指定,其持续时间以秒为单位。可以多次为多个时间指定,格式为:name=<CONSTRAINT_NAME>;start=< CRON>;duration=<SECONDS>;[description=<DESCRIPTION>;[t imezone=<IANA Timezone>]]

--repeat-actions {True|False}

如果操作在警报处于目标状态时重复通知,则为 true

表 7.2. 输出格式选项

概述

-f {json,shell,table,value,yaml}, --format {json,shell,table,value,yaml}

输出格式,默认为 table

-c COLUMN, --column COLUMN

指定要包含的列,可以重复显示多个列

表 7.3. JSON 格式选项

概述

--noindent

是否禁用缩进 json

表 7.4. Shell formatter 选项

概述

--prefix PREFIX

在所有变量名称中添加前缀

表 7.5. 表格式器选项

概述

--max-width <integer>

最大显示宽度 <1 要禁用。您还可以使用 CLIFF_MAX_TERM_WIDTH 环境变量,但参数具有优先权。

--fit-width

将表适合显示宽度。如果 --max-width 大于 0,则表示表示。将环境变量 CLIFF_FIT_WIDTH=1 设置为 always 启用

--print-empty

如果没有要显示的数据,打印空表。

表 7.6. 常见警报规则

概述

--query <QUERY>

对于阈值或 event: key[op]data_type::value; list. data_type 的警报是可选的,但如果提供,必须是 string、integer、float 或 boolean。对于类型为 gnocchi_aggregation_by_resources_threshold: 的警报,需要指定一个复杂的查询 json 字符串,如 {"and": [{"=": {"ended_at": null}}, …​]}。

--comparison-operator <OPERATOR>

要比较的运算符,其中之一:[lt,le,eq,ne,ge ]

--evaluation-periods <EVAL_PERIODS>

要评估的周期数

--threshold <THRESHOLD>

要评估的阈值。

表 7.7. 事件警报

概述

--event-type <EVENT_TYPE>

要评估的事件类型

表 7.8. 阈值警报

概述

-m <METER NAME>, --meter-name <METER NAME>

要评估的计量

--period <PERIOD>

要评估的每个时间段的长度(秒)。

--statistic <STATISTIC>

评估的统计,其中一个:[max,min,avg,sum,count]

表 7.9. 常见 gnocchi 警报规则

概述

--granularity <GRANULARITY>

查询的时间范围(以秒为单位)。

--aggregation-method <AGGR_METHOD>

与阈值进行比较的 aggregation_method。

--metric <METRIC>, --metrics <METRIC>

指标 ID 或名称,具体取决于警报类型

表 7.10. Gnocchi 资源阈值警报

概述

--resource-type <RESOURCE_TYPE>

资源的类型。

--resource-id <RESOURCE_ID>

资源的 id。

表 7.11. 复合警报

概述

--composite-rule <COMPOSITE_RULE>

使用 json 格式的复合阈值规则,表单可以是嵌套的字典,它将 threshold/gnocchi 规则由 "and", "or" 组合。例如,表单类似于: {"or":[RULE1, RULE2, {"and": [RULE3, RULE4]}, RULEx 可以是基本阈值规则,但必须包含 "type" 字段,如: {"threshold": 0.8,"meter_name":"cpu_util","type":"threshold"}

表 7.12. LoadBalancer 成员健康警报

概述

--stack-id <STACK_NAME_OR_ID>

包含 loadbalancer 池和成员的根/顶级 heat 堆栈的名称或 id。如果在 loadbalancer 池中检测到不健康的成员,则 root Stack 上会触发更新。

--pool-id <LOADBALANCER_POOL_NAME_OR_ID>

将评估每个成员健康的 loadbalancer 池的名称或 id。

--autoscaling-group-id <AUTOSCALING_GROUP_NAME_OR_ID>

包含 loadbalancer 成员的 heat 自动扩展组的 ID。在根堆栈上触发更新前,不健康的成员将被标记为此类。