你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Monitor 日志以监视 HDInsight 群集

了解一些关于如何使用 Azure Monitor 日志来监视 Azure HDInsight 群集的基本场景:

注意

本文最近已更新,从使用术语“Log Analytics”改为使用术语“Azure Monitor 日志”。 日志数据仍然存储在 Log Analytics 工作区中,并仍然由同一 Log Analytics 服务收集并分析。 我们正在更新术语,以便更好地反映 Azure Monitor 中的日志的角色。 有关详细信息,请参阅 Azure Monitor 术语更改

先决条件

必须已配置一个 HDInsight 群集以使用 Azure Monitor 日志,并且已将特定于 HDInsight 群集的 Azure Monitor 日志监视解决方案添加到工作区。 有关说明,请参阅将 Azure Monitor 日志与 HDInsight 群集配合使用

分析 HDInsight 群集指标

了解如何查找 HDInsight 群集的特定指标。

  1. 从 Azure 门户打开关联到 HDInsight 群集的 Log Analytics 工作区。

  2. 在“常规”下,选择“日志”。

  3. 在搜索框中键入以下查询,在所有指标中搜索所有适用于所有 HDInsight 群集(已配置为使用 Azure Monitor 日志)的指标,然后选择“运行”。 查看结果。

    search *
    

    Apache Ambari analytics search all metrics.

  4. 在左侧菜单中选择“筛选器”选项卡。

  5. 在“类型”下,选择“检测信号” 。 然后,选择“应用并运行”

    log analytics search specific metrics.

  6. 请注意,文本框中的查询更改为:

    search *
    | where Type == "Heartbeat"
    
  7. 可通过使用左侧菜单中提供的选项进行更深入的研究。 例如:

    • 查看特定节点的日志:

      Search for specific errors output1.

    • 查看特定时间的日志:

      Search for specific errors output2.

  8. 选择“应用并运行”,然后检查结果。 另请注意,查询已更新为:

    search *
    | where Type == "Heartbeat"
    | where (Computer == "zk2-myhado") and (TimeGenerated == "2019-12-02T23:15:02.69Z" or TimeGenerated == "2019-12-02T23:15:08.07Z" or TimeGenerated == "2019-12-02T21:09:34.787Z")
    

其他示例查询

以下示例查询基于 10 分钟时间间隔内所用资源的平均值,按群集名称进行分类:

search in (metrics_resourcemanager_queue_root_default_CL) * 
| summarize AggregatedValue = avg(UsedAMResourceMB_d) by ClusterName_s, bin(TimeGenerated, 10m)

可以使用以下查询,基于 10 分钟时间范围内使用最大比例资源(以及 90% 和 95%)的时间优化结果,而不是基于所用资源的平均数进行优化:

search in (metrics_resourcemanager_queue_root_default_CL) * 
| summarize ["max(UsedAMResourceMB_d)"] = max(UsedAMResourceMB_d), ["pct95(UsedAMResourceMB_d)"] = percentile(UsedAMResourceMB_d, 95), ["pct90(UsedAMResourceMB_d)"] = percentile(UsedAMResourceMB_d, 90) by ClusterName_s, bin(TimeGenerated, 10m)

创建用于跟踪事件的警报

创建警报的第一步是到达基于其触发警报的查询。 可以根据需要使用任何查询创建警报。

  1. 从 Azure 门户打开关联到 HDInsight 群集的 Log Analytics 工作区。

  2. 在“常规”下,选择“日志”。

  3. 运行用于创建警报的以下查询,然后选择“运行”。

    metrics_resourcemanager_queue_root_default_CL | where AppsFailed_d > 0
    

    查询列出了 HDInsight 群集上运行失败的应用程序。

  4. 选择页面顶部的“新建预警规则”。

    New alert rule.

  5. 在“创建规则”窗口中,输入用于创建警报的查询和其他详细信息,然后选择“创建预警规则”

    Define alert condition.

编辑或删除现有警报

  1. 从 Azure 门户打开 Log Analytics 工作区。

  2. 在左侧菜单中的“监视”下,选择“警报” 。

  3. 在顶部,选择“管理预警规则”。

  4. 选择要编辑或删除的警报。

  5. 可选择以下选项:“保存”、“放弃”、“禁用”和“删除”

    HDInsight Azure Monitor logs alert delete edit.

有关详细信息,请参阅使用 Azure Monitor 创建、查看和管理指标警报

另请参阅