暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

StarRocks与Doris资源监控总结

墨天轮DB 2022-04-29
3028

StarRocks

监控报警展展示

  1. StarRocksManager
  2. 开源Prometheus+Grafana

StarRocks内置StarRocksManager自带的Agent从各个Host采集信息到Center Service然后做可视化展示,也提供邮件和Webhook方式做报警通知。Prometheus为时序数据库,从BE/FE的信息采集接口获取数据,通过Grafana进行展示。

StarRocksManager

集群监控

  • 性能:cpu、内存、磁盘io、磁盘使用量、磁盘剩余量
  • 查询:平均响应时间、QPS
  • 数据导入:导入次数、导入行数、导入数据量

单机监控

读取写入速度、任务执行成功失败、任务上报、HTTP请求数、cpu使用率、硬盘使用率

报警规则

  1. 不同集群资源分配情况不同,可以按照使用百分比来报警。
  2. 按照失败次数来报警,例如失败次数>=1直接报警。
  3. 按任务是否启动报警,如果一个任务在规定时间内没有启动则报警。
  4. 按照一段时间内资源波动情况报警,例如资源使用在过去24小时突然升高或者降低。
  5. 按照资源使用情况报警,例如某一类资源突然高于或者低于警戒值。

Prometheus+Grafana

Prometheus是时序数据库,从FE/BE的接口中拉取数据;Grafana 是一个开源的 metric 分析及可视化系统,从数据源获取展示数据。

starrocks/fe/fe-core/src/main/java/com/starrocks/http/rest/MetricsAction.java是API接口。

资源管理

资源管理对象

  1. 客户端可以连接到FE的最大数量。
  2. session级别的并发度、内存上限。
  3. 每个DB的存储容量。
  4. 杀死查询。
  5. SQL语句黑名单.
  6. BE内存限制:进程内存限制、查询层内存限制、load内存限制、metadata内存限制、page cache内存限制。

资源管理对象数据接口

  1. be/src/runtime/mem_tracker.cpp

    http://be_ip:8040/mem_tracker

  2. 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级别)

  1. 内存限制
  2. CPU限制

总结

StarRocks有报警规则、session级别的内存限制和cpu限制、DB级别的存储限制、FE级别的session数量、BE级别的各种不同种类内存限制。

Doris有session级别的内存限制和cpu限制。

两者都不能对单条sql进行限制,都支持对同一session内的sql进行限制。

两者都不能查看单条sql的资源消耗情况,都支持查看session的资源消耗情况。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论