当您需要监控各服务资源的使用情况时,可以创建报警规则。如果资源的监控指标达到报警条件,云监控自动发送报警通知,帮助您及时得知集群的异常情况,并快速处理。本文为您介绍如何在EMR控制台创建和查看报警规则。
背景信息
报警功能由云监控服务提供。如果您需要管理报警规则或获取更多监控和报警功能,可以在云监控控制台完成。更多信息,请参见什么是云监控。
前提条件
已创建集群,详情请参见创建集群。
使用限制
如果您使用的是RAM用户,则需要在RAM用户权限中添加以下内容。添加RAM用户权限的详细操作,请参见为RAM用户授权。
{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "cms:DescribeContactGroupList",
                "cms:DescribeMetricMetaList",
                "cms:PutResourceMetricRules",
                "cms:DescribeMetricRuleList"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}创建报警规则
通过模板创建报警规则
- 进入报警管理页面。 - 在顶部菜单栏处,根据实际情况选择地域和资源组。 
- 在EMR on ECS页面,单击目标集群的集群ID。 
- 单击上方的集群监控页签。 
- 单击报警管理。 
 
- 在报警管理页面,单击创建报警规则。 
- 在创建报警规则面板,单击目标服务操作列的创建报警规则。 
- 编辑相关规则,单击创建。 - 参数 - 说明 - 规则描述 - 当前模板下报警规则信息。您可以查看指标名称,并可以修改默认阈值。 - 服务范围及阈值说明,请参见模板服务范围。 - 通道沉默周期 - 如果报警发生后未恢复正常,间隔多久再次发送一次报警通知。 - 生效时间 - 表示报警规则的有效时段,报警规则只在有效时段内才会检查监控数据是否需要报警。 - 报警联系人组 - 选择相应的报警联系人组,从而实现通过报警联系组接收报警通知的目的。 - 报警通知方式 - 选择报警通知方式和报警邮件主题。报警通知方式可选: - 电话+短信+邮件+钉钉机器人 
- 短信+邮件+钉钉机器人 
- 邮件+钉钉机器人 
 - 报警邮件主题(非必填):填写后,发送报警的邮件通知中会附带您的备注信息。 - 报警回调地址 - 填写公网可访问的URL,云监控会将报警信息通过POST请求推送到该地址,目前仅支持HTTP协议。 - 创建完成后,报警规则对当前实例生效。您可以在报警管理下查看已创建的报警规则。 - 单击报警管理页面的管理报警规则,可以跳转到云监控控制台查看或修改报警规则。 
自定义创建报警规则
- 进入报警管理页面。 - 在顶部菜单栏处,根据实际情况选择地域和资源组。 
- 在EMR on ECS页面,单击目标集群的集群ID。 
- 单击上方的集群监控页签。 
- 单击报警管理。 
 
- 在报警管理页面,单击创建报警规则。 
- 在创建报警规则面板,单击自定义创建页签。 
- 编辑相关规则,单击创建。 - 参数 - 说明 - 报警规则 - 设置报警规则,包括报警规则名称和报警规则主体。 - 报警规则的主体,定义在监控数据满足指定条件时,触发报警规则。 说明- 报警规则中EMR监控指标的说明信息,请参见云监控指标查询。 
- 通过单击添加报警规则,您可以设置多个报警规则的主体。 
 - 通道沉默周期 - 如果报警发生后未恢复正常,间隔多久再次发送一次报警通知。 - 生效时间 - 表示报警规则的有效时段,报警规则只在有效时段内才会检查监控数据是否需要报警。 - 报警联系人组 - 选择相应的报警联系人组,从而实现通过报警联系组接收报警通知的目的。 - 报警通知方式 - 选择报警通知方式和报警邮件主题。报警通知方式可选: - 电话+短信+邮件+钉钉机器人 
- 短信+邮件+钉钉机器人 
- 邮件+钉钉机器人 
 - 报警邮件主题(非必填):填写后,发送报警的邮件通知中会附带您的备注信息。 - 报警回调(非必填) - 填写公网可访问的URL,云监控会将报警信息通过POST请求推送到该地址,目前仅支持HTTP协议。 - 创建完成后,报警规则对当前实例生效。您可以在报警管理下查看已创建的报警规则。 - 单击报警管理页面的管理报警规则,可以跳转到云监控控制台查看或修改报警规则。 
查看报警规则
在报警管理页面,您可以查看已创建的报警规则。
| 参数 | 说明 | 
| 规则名称 | CMS报警规则名称。 | 
| 状态 | 当前报警规则在云监控服务中的生效状态,包括正常、报警、无数据、已禁用和已启用。 | 
| 规则描述 | 报警规则的主体。当监控数据满足报警条件时,触发报警规则。 | 
| 报警联系人组 | 发送报警的联系人组。 | 
| 操作 | 
 
 | 
模板服务范围
| 服务名称 | 组件名称 | 指标 | 说明 | 
| 节点(Host) | 磁盘 | emr_node_part_max_used | 每分钟检查一次指标数据是否满足平均值>80%,持续2个周期,满足条件则触发告警。 | 
| CPU | emr_node_cpu_idle | 每分钟检查一次指标数据是否平均值<5%,持续5个周期,满足条件则触发告警。 | |
| 内存 | emr_node_mem_used_percent | 每分钟检查一次指标数据是否满足平均值>90%,持续2个周期,满足条件则触发告警。 | |
| HDFS | NameNode | hdfs_namenode_jvm_MemHeapUsedM / hdfs_namenode_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | 
| NameNode | hdfs_namenode_rpc_service_activity_CallQueueLength | 每分钟检查一次指标数据是否平均值>1000,持续2个周期,满足条件则触发告警。 | |
| NameNode | hdfs_namenode_fsnamesystem_CorruptBlocks | 每分钟检查一次指标数据是否平均值>1,持续2个周期,满足条件则触发告警。 | |
| NameNode | hdfs_namenode_safemode_status | 每分钟统计一次,如果发生1次处于safemode的情况,则触发告警。 | |
| DataNode | hdfs_datanode_jvm_MemHeapUsedM / hdfs_datanode_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | |
| Spark | SparkHistoryServer | spark_history_jvm_old_space_utilization | 每分钟检查一次指标数据是否平均值>95%,持续2个周期,满足条件则触发告警。 | 
| SparkThriftServer | spark_thrift_driver_jvm_heap_used/spark_thrift_driver_jvm_heap_max | 每分钟检查一次指标数据是否平均值>95%,持续2个周期,满足条件则触发告警。 | |
| Hive | HiveMetaStore | hive_metastore_memory_heap_used/hive_metastore_memory_heap_max | 每分钟检查一次指标数据是否平均值>95%,持续2个周期,满足条件则触发告警。 | 
| HiveMetaStore | hive_metastore_threads_blocked_count | 每分钟检查一次指标数据是否平均值>50%,持续2个周期,满足条件则触发告警。 | |
| HiveServer2 | hive_server_memory_heap_used/hive_server_memory_heap_max | 每分钟检查一次指标数据是否平均值>95%,持续2个周期,满足条件则触发告警。 | |
| HiveServer2 | hive_server_threads_deadlock_count | 每分钟检查一次指标数据是否平均值>50%,持续2个周期,满足条件则触发告警。 | |
| YARN | ResourceManager | yarn_cluster_status | 如果在过去5分钟内发生了多次HA切换(至少两次),或者存在无状态为1的节点,或者存在状态一直为-1的节点,则触发告警。 | 
| ResourceManager | yarn_resourcemanager_jvm_MemHeapUsedM / yarn_resourcemanager_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | |
| NodeManager | yarn_cluster_unhealthyNodes | 每分钟检查一次指标数据是否平均值>1,持续2个周期,满足条件则触发告警。 | |
| NodeManager | yarn_nodemanager_jvm_MemHeapUsedM / yarn_nodemanager_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | |
| TimelineServer | yarn_timelineserver_jvm_MemHeapUsedM / yarn_timelineserver_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | |
| MRHistoryServer | yarn_jobhistory_jvm_MemHeapUsedM / yarn_jobhistory_jvm_MemHeapMaxM | 每分钟检查一次指标数据是否满足平均值>95%,持续2个周期,或者没有指标产生,满足条件则触发告警。 | |
| Zookeeper | Zookeeper | zk_znode_count | 每分钟检查一次指标数据是否平均值>=10000,持续2个周期,满足条件则触发告警。 | 
| Zookeeper | zk_watch_count | 每分钟检查一次指标数据是否平均值>=1000,持续2个周期,满足条件则触发告警。 | |
| Kafka | KafkaBroker | Kafka_Broker_kafka_log_LogManager_OfflineLogDirectoryCount | 每分钟检查一次指标数据是否平均值>0,持续2个周期,满足条件则触发告警。 | 
| Kafka_Broker_kafka_server_ReplicaManager_UnderReplicatedPartitions | 每分钟检查一次指标数据是否平均值>0,持续2个周期,满足条件则触发告警。 | ||
| Presto/Trino | Trino | trino_QueryManager_FailedQueries_OneMinute_Count | 每分钟检查一次指标数据是否平均值>=1,持续2个周期,满足条件则触发告警。 | 
| trino_ClusterMemoryPool_name_general_BlockedNodes | 每分钟检查一次指标数据是否平均值>0,持续2个周期,满足条件则触发告警。 | ||
| Presto | presto_QueryManager_FailedQueries_OneMinute_Count | 每分钟检查一次指标数据是否平均值>=1,持续2个周期,满足条件则触发告警。 | |
| presto_ClusterMemoryPool_name_general_BlockedNodes | 每分钟检查一次指标数据是否平均值>0,持续2个周期,满足条件则触发告警。 | ||
| Impala | Impalad | num_waiting_queries | 每分钟检查一次指标数据是否平均值>=10,持续2个周期,满足条件则触发告警。 说明  您可以根据集群查询并发调整阈值。 | 
| Kudu | kudu-master | kudu_cluster_replica_skew | 每分钟检查一次指标数据是否平均值>=1000,持续2个周期,满足条件则触发告警。 说明  您可以根据使用情况适当调整阈值。 |