StarRocks存活监控实现
1、前言
任何 数据库的引入,监控都是很重要的部分。本篇文章分享下StarRocks的数据库的存活监控相关的实现
2、思考
StarRocks的监控分为: 存活监控 、性能监控 。因为之前的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 5
可以从监控项: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、检查工具实现

4、监控整体实现
存活监控的实现:
- prometheus的监控项up里面获取节点存活信息,上报到DBA统一监控zabbix,利用zabbix发送报警等。
性能监控的实现:
- prometheus接口获取重点信息,服务器级别,实例级别,上报到zabbix,利用zabbix实现性能报警等。
目前性能监控我们还在开发中,存活监控已经实现且已经能发送报警了。统一的汇总Grafana也在开发中
- 存活监控 实现完成
- 检查元信息与Zabbix 的差异host并添加/删除 实现完成
此处为监控的全部架构设计图:


浙公网安备 33010602011771号