DorisDB存活监控实现

DorisDB存活监控实现

            --2021-08-15 刘春雷

1、前言

任何 数据库的引入,监控都是很重要的部分。本篇文章分享下DorisDB的数据库的存活监控相关的实现

2、思考

DorisDB的监控分为: 存活监控 、性能监控 。因为之前的TiDB的经验,建设分为:

  • 存活监控:
    • 存活检查工具 方便日常的状态检查
    • 存活监控 任务式采集,报警
  • 性能监控:
    • 根据一定的运维经验,获取重要的监控指标,分为:服务器相关、实例相关的
  • 汇总监控:
    • 因为正常部署是一套集群1套监控,要统一地点看所有集群的重点监控的话,就要汇总到1套 Grafana 上

3、存活检查工具实现

3.1、节点信息获取

【FE信息查看】:

  • SHOW FRONTENDS;
列名 说明
Name 10.1.1.1_666_1628925096585 表示该 FE 节点在 bdbje 中的名称
IP 10.1.1.1
EditLogPort 6661
HttpPort 6662 web端口
QueryPort 6663 对外查询端口
RpcPort 6664
Role FOLLOWER 角色
IsMaster FALSE 是否是master
ClusterId 1731263968
Join TRUE Join 为 true 表示该节点曾经加入过集群。但不代表当前还在集群内(可能已失联)
Alive TRUE Alive 表示节点是否存活。
ReplayedJournalId 44074 表示该节点当前已经回放的最大元数据日志id
LastHeartbeat 2021/8/15 19:18 是最近一次心跳
IsHelper TRUE 表示该节点是否是 bdbje 中的 helper 节点
ErrMsg 用于显示心跳失败时的错误信息

【BE信息查看】:

  • SHOW BACKENDS;
列名 说明
BackendId 10002
Cluster default_cluster
IP 10.2.2.2
HeartbeatPort 7776
BePort 7777
HttpPort 7778
BrpcPort 7779
LastStartTime 2021-08-14 15:11:56 LastStartTime 表示最近一次 BE 启动时间
LastHeartbeat 2021-08-15 19:27:43 表示最近一次心跳
Alive TRUE 示节点是否存活
SystemDecommissioned FALSE 为 true 表示节点正在安全下线中
ClusterDecommissioned FALSE 为 true 表示节点正在从当前cluster中下线
TabletNum 2266 表示该节点上分片数量
DataUsedCapacity 11.548KB 表示实际用户数据所占用的空间
AvailCapacity 2.907TB 表示磁盘的可使用空间
TotalCapacity 2.909TB 表示总磁盘空间
UsedPct 0.0005 示磁盘已使用量百分比
MaxDiskUsedPct 0.0005
ErrMsg 用于显示心跳失败时的错误信息
Version 1.17.1-914c0d2
Status {“lastSuccessReportTabletsTime”:“2021-08-1519:27:03”} 于以 JSON 格式显示BE的一些状态信息,目前包括最后一次BE汇报其tablet的时间信息

【Prometheus接口】:

Prometheus+Grafana 是官方推荐的监控架构

参考文档:http://doris.apache.org/master/zh-CN/administrator-guide/operation/monitor-alert.html#prometheus

可以从监控项:up 里面获取FE、BE节点的存活情况

例如:

up{ group =“be”, instance =“10.1.1.1:666”, job =“dorisdb_prometheus_666-1”} 1

up{ group =“fe”, instance =“10.1.1.2:777”, job =“dorisdb_prometheus_666-1”} 1

3.2、检查工具实现

dorisdb_check

4、监控整体实现

存活监控的实现:

  • prometheus的监控项up里面获取节点存活信息,上报到DBA统一监控zabbix,利用zabbix发送报警等。

性能监控的实现:

  • prometheus接口获取重点信息,服务器级别,实例级别,上报到zabbix,利用zabbix实现性能报警等。

目前性能监控我们还在开发中,存活监控已经实现且已经能发送报警了。统一的汇总Grafana也在开发中

  • 存活监控 实现完成
  • 检查元信息与Zabbix 的差异host并添加/删除 实现完成

此处为监控的全部架构设计图:

2赞