當您需要監控各服務資源的使用方式時,可以建立警示規則。如果資源的監控指標達到警示條件,CloudMonitor自動發送警示通知,協助您及時得知叢集的異常情況,並快速處理。本文為您介紹如何在EMR控制台建立和查看警示規則。
背景資訊
警示功能由CloudMonitor服務提供。如果您需要管理警示規則或擷取更多監控和警示功能,可以在CloudMonitor控制台完成。更多資訊,請參見什麼是CloudMonitor。
前提條件
已建立叢集,詳情請參見建立叢集。
使用限制
如果您使用的是RAM使用者,則需要在RAM使用者權限中添加以下內容。添加RAM使用者權限的詳細操作,請參見為RAM使用者授權。
{
"Version": "1",
"Statement": [
{
"Action": [
"cms:DescribeContactGroupList",
"cms:DescribeMetricMetaList",
"cms:PutResourceMetricRules",
"cms:DescribeMetricRuleList"
],
"Resource": "*",
"Effect": "Allow"
}
]
}建立警示規則
通過模板建立警示規則
進入警示管理頁面。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在EMR on ECS頁面,單擊目的地組群的叢集ID。
單擊上方的叢集監控頁簽。
單擊警示管理。
在警示管理頁面,單擊建立警示規則。
在建立警示規則面板,單擊目標服務作業列的建立警示規則。
編輯相關規則,單擊建立。
參數
說明
規則描述
當前模板下警示規則資訊。您可以查看指標名稱,並可以修改預設閾值。
服務涵蓋範圍及閾值說明,請參見模板服務涵蓋範圍。
通道沉默周期
如果警示發生後未恢複正常,間隔多久再次發送一次警示通知。
生效時間
表示警示規則的有效時段,警示規則只在有效時段內才會檢查監控資料是否需要警示。
警示連絡人群組
選擇相應的警示連絡人群組,從而實現通過警示聯絡組接收警示通知的目的。
警示通知方式
選擇警示通知方式和警示郵件主題。警示通知方式可選:
電話+簡訊+郵件+DingTalk機器人
簡訊+郵件+DingTalk機器人
郵件+DingTalk機器人
警示郵件主題(非必填):填寫後,發送警示的郵件通知中會附帶您的備忘資訊。
警示回調地址
填寫公網可訪問的URL,CloudMonitor會將警示資訊通過POST請求推送到該地址,目前僅支援HTTP協議。
建立完成後,警示規則對當前執行個體生效。您可以在警示管理下查看已建立的警示規則。
單擊警示管理頁面的管理警示規則,可以跳轉到CloudMonitor控制台查看或修改警示規則。
自訂建立警示規則
進入警示管理頁面。
在頂部功能表列處,根據實際情況選擇地區和資源群組。
在EMR on ECS頁面,單擊目的地組群的叢集ID。
單擊上方的叢集監控頁簽。
單擊警示管理。
在警示管理頁面,單擊建立警示規則。
在建立警示規則面板,單擊自訂建立頁簽。
編輯相關規則,單擊建立。
參數
說明
警示規則
設定警示規則,包括警示規則名稱和警示規則主體。
警示規則的主體,定義在監控資料滿足指定條件時,觸發警示規則。
說明警示規則中EMR監控指標的說明資訊,請參見CloudMonitor指標查詢。
通過單擊添加警示規則,您可以設定多個警示規則的主體。
通道沉默周期
如果警示發生後未恢複正常,間隔多久再次發送一次警示通知。
生效時間
表示警示規則的有效時段,警示規則只在有效時段內才會檢查監控資料是否需要警示。
警示連絡人群組
選擇相應的警示連絡人群組,從而實現通過警示聯絡組接收警示通知的目的。
警示通知方式
選擇警示通知方式和警示郵件主題。警示通知方式可選:
電話+簡訊+郵件+DingTalk機器人
簡訊+郵件+DingTalk機器人
郵件+DingTalk機器人
警示郵件主題(非必填):填寫後,發送警示的郵件通知中會附帶您的備忘資訊。
警示回調(非必填)
填寫公網可訪問的URL,CloudMonitor會將警示資訊通過POST請求推送到該地址,目前僅支援HTTP協議。
建立完成後,警示規則對當前執行個體生效。您可以在警示管理下查看已建立的警示規則。
單擊警示管理頁面的管理警示規則,可以跳轉到CloudMonitor控制台查看或修改警示規則。
查看警示規則
在警示管理頁面,您可以查看已建立的警示規則。
參數 | 說明 |
規則名稱 | CMS警示規則名稱。 |
狀態 | 當前警示規則在CloudMonitor服務中的生效狀態,包括正常、警示、無資料、已禁用和已啟用。 |
規則描述 | 警示規則的主體。當監控資料滿足警示條件時,觸發警示規則。 |
警示連絡人群組 | 發送警示的連絡人群組。 |
操作 |
|
模板服務涵蓋範圍
服務名稱 | 組件名稱 | 指標 | 說明 |
節點(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個周期,滿足條件則觸發警示。 說明 您可以根據使用方式適當調整閾值。 |