本文主要介绍一些常用的 Ambari 告警相关接口。
Ambari
登录
Request URL:
1 | https://"managerHostIp":"port"/api/v1/users/"userName"?fields=privileges/PrivilegeInfo/permission_name |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
userName | String | 用户名称 |
返回格式:
1 | { |
示例:
1 | https://10.180.249.85:8080/api/v1/users/admin?fields=privileges/PrivilegeInfo/permission_name |
集群信息
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters?fields=Clusters/provisioning_state,Clusters/security_type,Clusters/version,Clusters/cluster_id |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
返回格式:
1 | "items" : [ |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cluster_name | String | 集群名称 |
cluster_id | int | 集群 ID |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters?fields=Clusters/provisioning_state,Clusters/security_type,Clusters/version,Clusters/cluster_id |
查询主机列表
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,Hosts/host_status,Hosts/host_state,Hosts/last_heartbeat_time,Hosts/ip,Hosts/total_mem&minimal_response=true,host_components/logging&page_size=PageSize&from=fromIndex&sortBy=Hosts/host_name.asc |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
PageSize | int | 每页个数 |
fromIndex | int | 开始的索引号 |
返回格式:
1 | { |
返回字段说明:
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
host_name | String | 主机名称 |
ip | String | 主机 IP |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,Hosts/host_status,Hosts/host_state,Hosts/last_heartbeat_time,Hosts/ip,Hosts/total_mem&minimal_response=true,host_components/logging&page_size=10&from=0&sortBy=Hosts/host_name.asc |
集群
查看各主机监控指标
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,Hosts/host_status,Hosts/host_state,Hosts/last_heartbeat_time,Hosts/ip,metrics/disk,metrics/load/load_one,Hosts/total_mem,Hosts/os_arch,Hosts/os_type,metrics/cpu/cpu_system,metrics/cpu/cpu_user,metrics/memory/mem_total,metrics/memory/mem_free,metrics/network&minimal_response=true&sortBy=Hosts/host_name.asc |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
返回格式:
1 | { |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/maintenance_state,Hosts/public_host_name,Hosts/cpu_count,Hosts/ph_cpu_count,Hosts/host_status,Hosts/host_state,Hosts/last_heartbeat_time,Hosts/ip,metrics/disk,metrics/load/load_one,Hosts/total_mem,Hosts/os_arch,Hosts/os_type,metrics/cpu/cpu_system,metrics/cpu/cpu_user,metrics/memory/mem_total,metrics/memory/mem_free,metrics/network&minimal_response=true&sortBy=Hosts/host_name.asc |
集群 CPU 使用情况
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"?fields=metrics/cpu/Nice._avg[stamp_start,timestamp_end,step],metrics/cpu/System._avg[stamp_start,timestamp_end,step],metrics/cpu/User._avg[stamp_start,timestamp_end,step],metrics/cpu/Idle._avg[stamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
avg_cpu_idle_percent | double | 平均 cpu_idle 百分比 |
avg_cpu_nice_percent | double | 平均 cpu_nice 百分比 |
avg_cpu_system_percent | double | 平均 cpu_system 百分比 |
avg_cpu_user_percent | double | 平均 cpu_user 百分比 |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85?fields=metrics/cpu/Nice._avg[1635492886,1635496486,15],metrics/cpu/System._avg[1635492886,1635496486,15],metrics/cpu/User._avg[1635492886,1635496486,15],metrics/cpu/Idle._avg[1635492886,1635496486,15] |
集群内存使用情况
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/?fields=metrics/memory/Buffer._avg[stamp_start,timestamp_end,step],metrics/memory/Cache._avg[stamp_start,timestamp_end,step],metrics/memory/Share._avg[stamp_start,timestamp_end,step],metrics/memory/Swap._avg[stamp_start,timestamp_end,step],metrics/memory/Total._avg[stamp_start,timestamp_end,step],metrics/memory/Use._avg[stamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
avg_buffer_value | double | 平均 buffer 值 |
avg_cache_value | double | 平均 cache 值 |
avg_swap_value | double | 平均 swap 值 |
avg_total_value | double | 平均 total 值 |
avg_use_value | double | 平均 use 值 |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/?fields=metrics/memory/Buffer._avg[1635492886,1635496486,15],metrics/memory/Cache._avg[1635492886,1635496486,15],metrics/memory/Share._avg[1635492886,1635496486,15],metrics/memory/Swap._avg[1635492886,1635496486,15],metrics/memory/Total._avg[1635492886,1635496486,15],metrics/memory/Use._avg[1635492886,1635496486,15] |
集群网络使用情况
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/?fields=metrics/network/In._avg[stamp_start,timestamp_end,step],metrics/network/Out._avg[stamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
avg_in_value | double | 平均网络接收值 |
avg_out_value | double | 平均网络发送值 |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/?fields=metrics/network/In._avg[1635492886,1635496486,15],metrics/network/Out._avg[1635492886,1635496486,15] |
集群负载使用情况
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/?fields=metrics/load/1-min._avg[stamp_start,timestamp_end,step],metrics/load/CPUs._avg[stamp_start,timestamp_end,step],metrics/load/Nodes._avg[stamp_start,timestamp_end,step],metrics/load/Procs._avg[stamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
avg_1_min_value | double | 1 分钟平均负载值 |
avg_cpu_value | double | 平均 CPU 数量 |
avg_node_value | double | 平均节点数 |
avg_procs_value | double | 平均进程数量 |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/?fields=metrics/load/1-min._avg[1635492886,1635496486,15],metrics/load/CPUs._avg[1635492886,1635496486,15],metrics/load/Nodes._avg[1635492886,1635496486,15],metrics/load/Procs._avg[1635492886,1635496486,15] |
HDFS
HDFS 磁盘使用率
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/services/HDFS/components/NAMENODE?fields=metrics/dfs/namenode/Free,metrics/dfs/namenode/Used |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
返回格式:
1 | "metrics" : { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
Free | int | DFS 空闲空间,单位:比特 |
Used | int | DFS 已使用空间,单位:比特 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/services/HDFS/components/NAMENODE?fields=metrics/dfs/namenode/Free,metrics/dfs/namenode/Used |
HDFS CPU、内存使用率
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/host_components?HostRoles/component_name=NAMENODE&metrics/dfs/FSNamesystem/HAState=active&fields=metrics/cpu/cpu_system[timestamp_start,timestamp_end,step],metrics/cpu/cpu_user[timestamp_start,timestamp_end,step],metrics/cpu/cpu_nice[timestamp_start,timestamp_end,step],metrics/cpu/cpu_idle[timestamp_start,timestamp_end,step],metrics/cpu/cpu_wio[timestamp_start,timestamp_end,step],metrics/memory/mem_total[timestamp_start,timestamp_end,step],metrics/memory/mem_free[timestamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | "metrics" : { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cpu_idle_percent | double | cpu_idle 百分比 |
cpu_nice_percent | double | cpu_nice 百分比 |
cpu_wio_percent | double | cpu_wio 百分比 |
mem_free_value | double | mem_free 值,单位:bit |
mem_total_value | double | mem_total 值,单位:bit |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/host_components?HostRoles/component_name=NAMENODE&metrics/dfs/FSNamesystem/HAState=active&fields=metrics/cpu/cpu_system[1634713377,1634716977,15],metrics/cpu/cpu_user[1634713377,1634716977,15],metrics/cpu/cpu_nice[1634713377,1634716977,15],metrics/cpu/cpu_idle[1634713377,1634716977,15],metrics/cpu/cpu_wio[1634713377,1634716977,15],metrics/memory/mem_total[1634713377,1634716977,15],metrics/memory/mem_free[1634713377,1634716977,15] |
HBase
HBase CPU、网络使用率
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/Server/Get_num_ops._rate[stamp_start,timestamp_end,step],metrics/hbase/regionserver/Server/ScanSize_num_ops._rate[stamp_start,timestamp_end,step],metrics/cpu/cpu_system._avg[stamp_start,timestamp_end,step],metrics/cpu/cpu_user._avg[stamp_start,timestamp_end,step],metrics/cpu/cpu_nice._avg[stamp_start,timestamp_end,step],metrics/cpu/cpu_idle._avg[stamp_start,timestamp_end,step],metrics/cpu/cpu_wio._avg[stamp_start,timestamp_end,step],metrics/network/pkts_in._avg[stamp_start,timestamp_end,step],metrics/network/pkts_out._avg[stamp_start,timestamp_end,step],metrics/disk/read_bps._sum[stamp_start,timestamp_end,step],metrics/disk/write_bps._sum[stamp_start,timestamp_end,step] |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
timestamp_start | long | 起始时间戳,单位:秒 |
timestamp_end | long | 起始时间戳,单位:秒 |
step | int | 间隔步长 |
返回格式:
1 | "metrics" : { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
avg_cpu_idle_percent | double | 平均 cpu_idle 百分比 |
avg_cpu_system_percent | double | 平均 cpu_system 百分比 |
avg_cpu_user_percent | double | 平均 cpu_user 百分比 |
avg_cpu_wio_percent | double | 平均 cpu_wio 百分比 |
avg_pkts_in_value | double | mem_free 值,单位:bit |
avg_pkts_in_value | double | mem_total 值,单位:bit |
timestamp | long | 时间戳,单位:秒 |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/Server/Get_num_ops._rate[1634716159,1634719759,15],metrics/hbase/regionserver/Server/ScanSize_num_ops._rate[1634716159,1634719759,15],metrics/cpu/cpu_system._avg[1634716159,1634719759,15],metrics/cpu/cpu_user._avg[1634716159,1634719759,15],metrics/cpu/cpu_nice._avg[1634716159,1634719759,15],metrics/cpu/cpu_idle._avg[1634716159,1634719759,15],metrics/cpu/cpu_wio._avg[1634716159,1634719759,15],metrics/network/pkts_in._avg[1634716159,1634719759,15],metrics/network/pkts_out._avg[1634716159,1634719759,15],metrics/disk/read_bps._sum[1634716159,1634719759,15],metrics/disk/write_bps._sum[1634716159,1634719759,15] |
Kafka
Kafka 输入输出流量
Request URL:
1 | http://"kafkaWebUIIp":"port"/ke/metrics/brokers/mbean/ajax |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
kafkaWebUIIp | String | Kafka webUI IP |
port | String | 端口号,默认为:10095 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
fifteen_minute_value | double | 15 分钟值,单位:B |
five_minute_value | double | 5 分钟值,单位:B |
mean_rate_value | double | 平均值,单位:B |
one_minute_value | double | 1分钟值,单位:B |
示例:
1 | http://10.180.249.85:10095/ke/metrics/brokers/mbean/ajax |
Spark
Spark 分配内存
Request URL:
1 | https://"managerHostIp":"port"/api/v1/clusters/"clusterName"/configurations/service_config_versions?service_name=SPARK2&is_current=true |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
managerHostIp | String | 管理节点主机 IP |
port | String | 端口号,默认为8080 |
clusterName | String | 集群名称 |
返回格式:
1 | { |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
spark_daemon_memory | string | Spark 分配内存,单位:MB |
示例:
1 | https://10.180.249.85:8080/api/v1/clusters/cluster_85/configurations/service_config_versions?service_name=SPARK2&is_current=true |
ElasticSearch
ES CPU、内存使用率
Request URL:
1 | http://"elasticSearchMasterIp":"port"/_cat/nodes?v&pretty |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
elasticSearchMasterIp | String | ElasticSearch 管理节点主机 IP |
port | String | 端口号,默认为:9200 |
返回格式:
1 | ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
cpu | int | CPU 使用百分比 |
示例:
1 | [root@manager ~]# curl -XGET -K -u 'admin':'pwd' 'http://10.180.249.85:9200/_cat/nodes?v&pretty' |
ES 磁盘使用率
Request URL:
1 | http://"elasticSearchMasterIp":"port"/_cat/allocation?v&pretty |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
elasticSearchMasterIp | String | ElasticSearch 管理节点主机 IP |
port | String | 端口号,默认为:9200 |
返回格式:
1 | shards disk.indices disk.used disk.avail disk.total disk.percent host ip node |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
disk.avail | string | 磁盘可使用空间 |
示例:
1 | [root@manager ~]# curl -XGET -K -u 'admin':'pwd' 'http://10.180.249.85:9200/_cat/allocation?v&pretty' |
ES 文档总条数
Request URL:
1 | http://"elasticSearchMasterIp":"port"/_cat/count?v&pretty |
Request Method: GET
参数解析:
参数 | 类型 | 描述 |
---|---|---|
elasticSearchMasterIp | String | ElasticSearch 管理节点主机 IP |
port | String | 端口号,默认为:9200 |
返回格式:
1 | epoch timestamp count |
返回字段说明:
名称 | 类型 | 描述 |
---|---|---|
count | int | 文档条数 |
示例:
1 | [root@manager ~]# curl -XGET -K -u 'admin':'pwd' 'http://10.180.249.85:9200/_cat/count?v&pretty' |
ES 查看文档容量
1 | curl -XGET -K -u 'admin':'pwd' 'http://10.180.249.85:9200/_stats?&pretty' |