集群运维与监控
本文主要介绍Databricks数据洞察在集群维度的监控与告警能力。
背景信息
目前Databricks数据洞察主要采用阿里云监控服务,完整对接DBR指标体系,实现多维度、多实例、多时段的指标图表监控,用户可以根据业务情况,灵活自定义告警规则,摆脱底层的束缚,根据平台产品层面的能力,高效感知问题,运维业务。
用户可以登录Databricks数据洞察监控,选择对应的集群属地与集群名称,即可开启集群运维应用,示例如下图:
具体内容可参考云监控文档。
指标监控
目前默认的指标可以分为两个维度,即机器节点基本指标和Hadoop-queue相关指标。
后者可以总结为YARN中队列的相关指标内容,下文均称为队列指标,将分别给出详细定义。
机器节点基本指标
这部分指标主要围绕CPU、内存、磁盘、网络等监控项,满足主机的基本运维需求。云监控支持的监控项,请参见监控项说明。
队列监控指标
该部分指标通过YARN当中的Resource。Manager统计获取,通过JMX的方式进行暴露,平台选取了较为重要的指标进行监控,直接描述了集群的资源与作业情况。
具体指标项(均为分钟级)见下表:
监控项名称 | 监控项含义 | 单位 | Dimensions | Statistics | 说明 |
---|---|---|---|---|---|
ActiveUsers | Active的用户数量 | count | 用户维度、集群维度 | Maximum、Minimum、Average | |
AggregateContainersAllocated | 总共分配的container个数 | count | 用户维度、集群维度 | Average | |
AggregateContainersReleased | 总共释放的container个数 | count | 用户维度、集群维度 | Average | |
AllocatedContainers | 每分钟内分配的container个数 | count/分钟 | 用户维度、集群维度 | Average | 描述该集群资源现状下的调度能力状况 |
AppsCompleted | 已完成的作业数 | count | 用户维度、集群维度 | Average | |
AppsFailed | 失败的作业数 | count | 用户维度、集群维度 | Average | |
AppsKilled | 被杀死的作业数 | count | 用户维度、集群维度 | Average | |
AppsPending | 等待的作业数 | count | 用户维度、集群维度 | Average | 描述资源不足的作业数 |
AppsRunning | 运行中的作业数 | count | 用户维度、集群维度 | Average | |
AppsSubmitted | 提交的作业数 | count | 用户维度、集群维度 | Maximum、Minimum、Average | |
AvailableMB | 当前队列可用的内存大小 | Mbyte | 用户维度、集群维度 | Maximum、Minimum、Average | 描述当前集群的可用内存 |
AvailableVCores | 当前队列可用的vCores个数 | count | 用户维度、集群维度 | Maximum、Minimum、Average | 描述当前集群的可用vCore |
PendingContainers | 等待的container个数 | count | 用户维度、集群维度 | Maximum、Minimum、Average | |
ReservedContainers | 保留的container个数 | count | 用户维度、集群维度 | Average | 描述预分配的container数 |
自定义指标配置
为了支持用户更加具有自由度的指标监控,平台提供了自定义指标,步骤如下:
首先用户需要自定义创建大盘,创建成功后点击自定大盘名称,如下图:
2. 其次添加业务所需的自定义指标项,点击右上的添加图表,可从不同图表形式描述自定义指标,如下图:上图给出了“队列中pending的内存量”指标的基本添加方式,用户可以根据自己的需求进行配置。
这部分的更详细的操作可以参考管理自定义大盘。
告警配置
当用户需要对指标及时感知,可以配置具体的告警规则。若资源指标的监控达到报警条件,云监控会自动按配置的告警信息进行反馈,高效辅助用户排查问题,进行运维。
报警规则配置
用户可以通过在Databricks的云产品监控页面,选择创建新的报警规则。
本文给出一个配置示例,当用户希望感知集群作业资源状态时,可以针对队列指标进行告警规则配置,其中队列指标中AppsPending就可以描述上述需求,步骤如下:
登录Databricks数据洞察监控,选择对应的集群属地与集群名称,点击右上角的创建报警规则。
2.创建具体的报警规则,可以看到如下左图中的配置项,我们先关注最核心的增加规则配置,点击后产生如右图的具体指标告警规则配置,选取AppsPending作为监控指标,配置不同程度的指标阈值,这部分的具体值需要参考业务规模和具体的容忍度,图中值仅参考。
其他告警配置,可根据业务要求配置,详细参数描述请参见创建阈值报警规则。配置报警联系人详情请参见创建报警联系人或报警联系组。创建成功后,点击右上角的报警规则列表,可以查询到已创建的报警规则,如下图:
4.当告警异常发生时,首先在云监控的报警列表当中可以发现异常的告警规则项,如下图:符合具体的报警规则时,会进行相应的渠道反馈,如下图: