本文主要介绍一些常用的 Ambari 告警相关接口。
告警定义
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/alert_definitions?fields=AlertDefinition/component_name,AlertDefinition/description,AlertDefinition/enabled,AlertDefinition/repeat_tolerance,AlertDefinition/repeat_tolerance_enabled,AlertDefinition/id,AlertDefinition/ignore_host,AlertDefinition/interval,AlertDefinition/label,AlertDefinition/name,AlertDefinition/scope,AlertDefinition/service_name,AlertDefinition/source |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cluster_name | String | 集群名称 |
service_name | String | 服务名称 |
component_name | String | 服务中的组件名称 |
id | int | 告警定义 ID |
name | String | 告警名称 |
description | String | 告警描述 |
label | String | 告警标签 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/alert_definitions?fields=AlertDefinition/component_name,AlertDefinition/description,AlertDefinition/enabled,AlertDefinition/repeat_tolerance,AlertDefinition/repeat_tolerance_enabled,AlertDefinition/id,AlertDefinition/ignore_host,AlertDefinition/interval,AlertDefinition/label,AlertDefinition/name,AlertDefinition/scope,AlertDefinition/service_name,AlertDefinition/source |
告警统计
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/alerts?format=groupedSummary |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
definition_id | int | 告警定义 ID,对应“告警定义”接口返回值中的 “id” 值 |
definition_name | String | 告警名称,对应“告警定义”接口返回值中的 “name” 值 |
OK | json | 告警级别:正常 |
WARNING | json | 告警级别:警告 |
CRITICAL | json | 告警级别:严重 |
UNKNOWN | json | 告警级别:未知 |
count | int | 对应该告警级别的告警数量 |
original_timestamp | long | 出现该告警时的时间戳 |
maintenance_count | int | 服务处于维护模式下的告警数量 |
latest_text | String | 告警描述信息 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/alerts?format=groupedSummary |
告警列表
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/alerts?fields=Alert/component_name,Alert/definition_id,Alert/definition_name,Alert/host_name,Alert/id,Alert/instance,Alert/label,Alert/latest_timestamp,Alert/maintenance_state,Alert/original_timestamp,Alert/scope,Alert/service_name,Alert/state,Alert/text,Alert/repeat_tolerance,Alert/repeat_tolerance_remaining&Alert/state.in(CRITICAL,WARNING)&Alert/maintenance_state.in(OFF)&from="fromIndex"&page_size="PageSize" |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
PageSize | int | 每页个数 |
fromIndex | int | 开始的索引号 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cluster_name | String | 集群名称 |
service_name | String | 服务名称 |
component_name | String | 服务中的组件名称 |
definition_id | int | 告警定义 ID,对应“告警定义”接口返回值中的 “id” 值 |
definition_name | String | 告警名称,对应“告警定义”接口返回值中的 “name” 值 |
id | int | 该条告警的 ID 号(数据库告警表自增ID) |
state | String | 告警级别:CRITICAL 或 WARNING |
text | String | 告警描述 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/alerts?fields=Alert/component_name,Alert/definition_id,Alert/definition_name,Alert/host_name,Alert/id,Alert/instance,Alert/label,Alert/latest_timestamp,Alert/maintenance_state,Alert/original_timestamp,Alert/scope,Alert/service_name,Alert/state,Alert/text,Alert/repeat_tolerance,Alert/repeat_tolerance_remaining&Alert/state.in(CRITICAL,WARNING)&Alert/maintenance_state.in(OFF)&from=0&page_size=100 |
某个主机上的告警
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/alerts?fields=*&Alert/host_name="hostName" |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
hostName | String | 主机名 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cluster_name | String | 集群名称 |
service_name | String | 服务名称 |
component_name | String | 服务中的组件名称 |
definition_id | int | 告警定义 ID,对应“告警定义”接口返回值中的 “id” 值 |
definition_name | String | 告警名称,对应“告警定义”接口返回值中的 “name” 值 |
id | int | 该条告警的 ID 号(数据库告警表自增ID) |
state | String | 告警级别:CRITICAL 或 WARNING |
text | String | 告警描述 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/alerts?fields=*&Alert/host_name=worker.bigdata |
某个告警详情
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/alerts?fields=*&Alert/definition_id="definitionId" |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
definitionId | int | 告警定义 ID |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cluster_name | String | 集群名称 |
service_name | String | 服务名称 |
component_name | String | 服务中的组件名称 |
definition_id | int | 告警定义 ID,对应“告警定义”接口返回值中的 “id” 值 |
definition_name | String | 告警名称,对应“告警定义”接口返回值中的 “name” 值 |
id | int | 该条告警的 ID 号(数据库告警表自增ID) |
state | String | 告警级别:CRITICAL 或 WARNING |
text | String | 告警描述 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/alerts?fields=*&Alert/definition_id=106 |