StarRocks
监控报警展展示
- StarRocksManager
- 开源Prometheus+Grafana
StarRocks内置StarRocksManager自带的Agent从各个Host采集信息到Center Service然后做可视化展示,也提供邮件和Webhook方式做报警通知。Prometheus为时序数据库,从BE/FE的信息采集接口获取数据,通过Grafana进行展示。
StarRocksManager
集群监控
- 性能:cpu、内存、磁盘io、磁盘使用量、磁盘剩余量
- 查询:平均响应时间、QPS
- 数据导入:导入次数、导入行数、导入数据量
单机监控
读取写入速度、任务执行成功失败、任务上报、HTTP请求数、cpu使用率、硬盘使用率
报警规则
- 不同集群资源分配情况不同,可以按照使用百分比来报警。
- 按照失败次数来报警,例如失败次数>=1直接报警。
- 按任务是否启动报警,如果一个任务在规定时间内没有启动则报警。
- 按照一段时间内资源波动情况报警,例如资源使用在过去24小时突然升高或者降低。
- 按照资源使用情况报警,例如某一类资源突然高于或者低于警戒值。
Prometheus+Grafana
Prometheus是时序数据库,从FE/BE的接口中拉取数据;Grafana 是一个开源的 metric 分析及可视化系统,从数据源获取展示数据。
starrocks/fe/fe-core/src/main/java/com/starrocks/http/rest/MetricsAction.java是API接口。
资源管理
资源管理对象
- 客户端可以连接到FE的最大数量。
- session级别的并发度、内存上限。
- 每个DB的存储容量。
- 杀死查询。
- SQL语句黑名单.
- BE内存限制:进程内存限制、查询层内存限制、load内存限制、metadata内存限制、page cache内存限制。
资源管理对象数据接口
-
be/src/runtime/mem_tracker.cpp
http://be_ip:8040/mem_tracker
-
fe/fe-core/src/main/java/com/starrocks/http/rest/MetricsAction.java
http://be_ip:8040/metrics
Doris
多租户与资源划分
资源管理
一个资源包含名字、类型等基本信息,名字为全局唯一,不同类型的资源包含不同的属性。资源的创建和删除只能由拥有 admin 权限的用户进行操作。一个资源隶属于整个Doris集群。拥有 admin 权限的用户可以将使用权限usage_priv 赋给普通用户。
节点级资源划分
节点资源划分,是指将一个 Doris 集群内的 BE 节点设置标签(Tag),标签相同的 BE 节点组成一个资源组(Resource Group)。资源组可以看作是数据存储和计算的一个管理单元。一个 BE 只支持设置一个 Tag。
设置完Tag分组后,将用户数据指定插入到某几个资源组,对不同的资源组设置权限,保证不同用户对资源的使用权限。
单查询资源限制(session级别)
- 内存限制
- CPU限制
总结
StarRocks有报警规则、session级别的内存限制和cpu限制、DB级别的存储限制、FE级别的session数量、BE级别的各种不同种类内存限制。
Doris有session级别的内存限制和cpu限制。
两者都不能对单条sql进行限制,都支持对同一session内的sql进行限制。
两者都不能查看单条sql的资源消耗情况,都支持查看session的资源消耗情况。




