starrocks监控对接规范

182 阅读14分钟

starrocks 监控指标

通用监控指标

docs.starrocks.io/zh/docs/adm…

监控指标单位类型描述
be_broker_count平均值Broker的数量
be_brpc_endpoint_count平均值bRPC 中 StubCache 的数量
be_bytes_read_per_secondByte/秒平均值BE 读取速度
be_bytes_written_per_secondByte/秒平均值BE 写入速度
be_base_compaction_bytes_per_secondByte/秒平均值BE 的基线合并速率
be_cumulative_compaction_bytes_per_secondByte/秒平均值BE 的增量合并速率
be_base_compaction_rowsets_per_second个/秒平均值BE 的基线合并 rowsets 合并速率
be_cumulative_compaction_rowsets_per_second个/秒平均值BE 的增量合并 rowsets 合并速率
be_base_compaction_failed个/秒平均值BE 基线合并失败
be_clone_failed个/秒平均值BE 克隆失败be_create_rollup_failed
be_create_rollup_failed个/秒平均值BE 创建物化视图失败
be_create_tablet_failed个/秒平均值BE 创建 tablet 失败
be_cumulative_compaction_failed个/秒平均值BE 增量合并失败
be_delete_failed个/秒平均值BE 删除失败
be_finish_task_failed个/秒平均值BE task 失败
be_publish_failed个/秒平均值BE 版本发布失败
be_report_tables_failed个/秒平均值BE 表上报失败
be_report_disk_failed个/秒平均值BE 磁盘上报失败
be_report_tablet_failed个/秒平均值BE 分片上报失败
be_report_task_failed个/秒平均值BE 任务上报失败
be_schema_change_failed个/秒平均值BE 修改表结构失败
be_base_compaction_requests个/秒平均值BE 基线合并请求
be_clone_total_requests个/秒平均值BE 克隆请求
be_create_rollup_requests个/秒平均值BE 创建物化视图请求
be_create_tablet_requests个/秒平均值BE 创建分片请求
be_cumulative_compaction_requests个/秒平均值BE 增量合并请求
be_delete_requests个/秒平均值BE 删除请求
be_finish_task_requests个/秒平均值BE 完成任务请求
be_publish_requests个/秒平均值BE 版本发布请求
be_report_tablets_requests个/秒平均值BE 分片上报请求
be_report_disk_requests个/秒平均值BE 磁盘上报请求
be_report_tablet_requests个/秒平均值BE 任务上报请求
be_report_task_requests个/秒平均值BE 任务上报请求
be_schema_change_requests个/秒平均值BE 表结构修改请求
be_storage_migrate_requests个/秒平均值BE 迁移请求
be_fragment_endpoint_count平均值BE DataStream 数量
be_fragment_request_latency_avgm s平均值fragment 请求响应时间
be_fragment_requests_per_second个/秒平均值fragment 请求数
be_http_request_latency_avg毫秒平均值HTTP 请求响应时间
be_http_requests_per_second个/秒平均值HTTP 请求数
be_http_request_send_bytes_per_secondByte/秒平均值HTTP 请求发送字节数
fe_connections_per_second个/秒平均值FE 的新增连接速率
fe_connection_total累计值FE 的总连接数量
fe_edit_log_read个/秒平均值FE edit log 读取速率
fe_edit_log_size_bytesByte/秒平均值FE edit log 大小
fe_edit_log_writeByte/秒平均值FE edit log 写入速率
fe_checkpoint_push_per_second个/秒平均值FE checkpoint 数
fe_pending_hadoop_load_job平均值Pending 的 hadoop job 数量
fe_committed_hadoop_load_job平均值提交的 hadoop job 数量
fe_loading_hadoop_load_job平均值加载中的 hadoop job 数量
fe_finished_hadoop_load_job平均值完成的 hadoop job 数量
fe_cancelled_hadoop_load_job平均值取消的 hadoop job 数量
fe_pending_insert_load_job平均值Pending 的 insert job 数量
fe_loading_insert_load_job平均值提交的 insert job 数量
fe_committed_insert_load_job平均值加载中的 insert job 数量
fe_finished_insert_load_job平均值完成的 insert job 数量
fe_cancelled_insert_load_job平均值取消的 insert job 数量
fe_pending_broker_load_job平均值Pending 的 broker job 数量
fe_loading_broker_load_job平均值提交的 broker job 数量
fe_committed_broker_load_job平均值加载中的 broker job 数量
fe_finished_broker_load_job平均值完成的 broker job 数量
fe_cancelled_broker_load_job平均值取消的 broker job 数量
fe_pending_delete_load_job平均值Pending 的 delete job 数量
fe_loading_delete_load_job平均值提交的 delete job 数量
fe_committed_delete_load_job平均值加载中的 delete job 数量
fe_finished_delete_load_job平均值完成的 delete job 数量
fe_cancelled_delete_load_job平均值取消的 delete job 数量
fe_rollup_running_alter_job平均值rollup 创建中的 job 数量
fe_schema_change_running_job平均值表结构变更中的 job 数量

异步物化视图监控指标

docs.starrocks.io/zh/docs/adm…

v3.1 版本开始,StarRocks 支持异步物化视图相关监控项。

Prometheus 需要相关权限以访问物化视图相关元数据。因此您需要在 Prometheus 配置文件 prometheus/prometheus.yml 中添加以下配置:

global:
....
scrape_configs:

  - job_name: 'dev' 
    metrics_path: '/metrics'    
    添加以下配置项。
    basic_auth:
      username: 'root'
      password: ''
    params:
      'with_materialized_view_metrics' : ['all']   
....
  • username:用于登录到您的 StarRocks 集群的用户名。此用户必须拥有 user_admin 角色。
  • password:用于登录到您的 StarRocks 集群的密码。
  • 'with_materialized_view_metrics':要收集的指标的范围。有效值包括:
  • 'all':收集所有与物化视图相关的指标。
  • 'minified':不收集 Gauge 类指标和值为 0 的指标。
监控指标类型描述
mv_refresh_jobsCounter物化视图刷新作业的总数
mv_refresh_total_success_jobsCounter执行成功的物化视图刷新作业的数量
mv_refresh_total_failed_jobsCounter执行失败的物化视图刷新作业的数量
mv_refresh_total_empty_jobsCounter因刷新数据为空而取消的物化视图刷新作业的数量
mv_refresh_total_retry_meta_countCounter物化视图刷新作业检查基表是否变更的次数
mv_query_total_countCounter物化视图在查询的预处理中被使用的次数
mv_query_total_hit_countCounter物化视图被查询计划认为能够改写当前查询的次数,由于最终的查询计划可能由于成本过高而跳过改写,因此观察到的值会相比实际较高
mv_query_total_considered_countCounter物化视图改写查询的次数(不包括直接针对物化视图的查询)
mv_query_total_matched_countCounter物化视图参与最终查询计划的次数(包括直接针对物化视图的查询)
mv_refresh_pending_jobsGauge物化视图当前等待执行的刷新作业数量
mv_refresh_running_jobsGauge物化视图当前正在执行的刷新作业数量
mv_row_countGauge物化视图的行数
mv_storage_sizeGauge物化视图的大小,单位:Byte
mv_inactive_stateGauge物化视图的状态,有效值:0(active)和 1(inactive)
mv_partition_countGauge物化视图中的分区数,如果物化视图未分区,则该值为 0
mv_refresh_durationHistogram执行成功的物化视图刷新作业的持续时间

存算分离集群监控指标

docs.starrocks.io/zh/docs/adm…

StarRocks 为存算分离集群提供以下两种 Dashboard 模板:

  • Shared-data Dashboard

    •   Shared-data Dashboard 包括以下监控指标类别:

    • Publish Version

      •     Latency / QPS
      • 描述 Public Version 任务的 Quantile 分位数延迟、平均延迟和 QPS。
      •     Queued Tasks
      • 描述 Public Version 队列中的任务数量。
    • Metadata

      •     Get Tablet Metadata
      • 描述 Get Tablet Metadata 任务的 Quantile 分位数延迟、平均延迟和 QPS。
      •     Put Tablet Metadata
      • 描述 Put Tablet Metadata 任务的 Quantile 分位数延迟、平均延迟和 QPS。
      •     Get Txn Log
      • 描述 Get Txn Log 任务的 Quantile 分位数延迟、平均延迟和 QPS。
      •     Put Txn Log
      • 描述 Put Txn Log任务的 Quantile 分位数延迟、平均延迟和 QPS。
    • Metacache

      •     Metacache Usage
      • 描述 Metacache 利用率。
      •     Delvec Cache Miss Per Minute
      • 描述 Delvec Cache 每分钟 Miss 的次数。
      •     Metadata Cache Miss Per Minute
      • 描述 Metadata Cache 每分钟 Miss 的次数。
      •     Txn Log Cache Miss Per Minute
      • 描述 Txn Log Cache 每分钟 Miss 的次数。
      •     Segment Cache Miss Per Minute
      • 描述 Segment Cache 每分钟 Miss 的次数。
    • Vacuum

      •     Vacuum Deletes
      • 描述 Vacuum Deletes 任务的 Quantile 分位数延迟、平均延迟和 QPS。
      •     Errors
      • 描述 Vacuum Deletes 操作失败的次数。
    • Loading

      •     Queue Size
      • 描述 BE Async Delta Writer 的队列长度。
  • Starlet Dashboard

    •   Starlet Dashboard 包括以下监控 指标 类别:

    • FSLIB READ IO METRICS

      •     fslib read io_latency (quantile)
      • 类型:Histogram
      • 描述 S3 读取的 Quantile 分位延迟。
      •     fslib read io_latency (average)
      • 类型:Counter
      • 描述 S3 读取的平均延迟。
      •     fslib total read data
      • 类型:Counter
      • 描述 S3 读取的总数据大小。
      •     fslib read iosize (quantile)
      • 类型:Histogram
      • 描述 S3 读取的 Quantile 分位 I/O 大小。
      •     fslib read iosize (average)
      • 类型:Counter
      • 描述 S3 读取的平均 I/O 大小。
      •     fslib read throughput
      • 类型:Counter
      • 描述 S3 读取的每秒 I/O 吞吐量。
      •     fslib read iops
      • 类型:Counter
      • 描述 S3 读取的每秒 I/O 操作次数。
    • FSLIB WRITE IO METRICS

      •     fslib write io_latency (quantile)
      • 类型:Histogram
      • 描述 应用写入的 Quantile 分位延迟。请注意,该值仅监控写入缓冲区的数据,因此观察到的值会相比实际较低。
      •     fslib write io_latency (average)
      • 类型:Counter
      • 描述 应用写入的平均延迟。请注意,该值仅监控写入缓冲区的数据,因此观察到的值会相比实际较低。
      •     fslib total write data
      • 类型:Counter
      • 描述 应用写入的总数据大小。
      •     fslib write iosize (quantile)
      • 类型:Histogram
      • 描述 应用写入的 Quantile 分位 I/O 大小。
      •     fslib write iosize (average)
      • 类型:Counter
      • 描述 应用写入的平均 I/O 大小。
      •     fslib write throughput
      • 类型:Counter
      • 描述 应用写入的每秒 I/O 吞吐量。
    • S3 IO METRICS

      •     fslib s3 single upload iops
      • 类型:Counter
      • 描述 S3 Put Object 的每秒调用次数。
      •     fslib s3 single upload iosize (quantile)
      • 类型:Histogram
      • 描述 S3 Put Object 的 Quantile 分位 I/O 大小。
      •     fslib s3 single upload latency (quantile)
      • 类型:Histogram
      • 描述 S3 Put Object 的 Quantile 分位延迟。
      •     fslib s3 multi upload iops
      • 类型:Counter
      • 描述 S3 Multi Upload Object 的每秒调用次数。
      •     fslib s3 multi upload iosize (quantile)
      • 类型:Histogram
      • 描述 S3 Multi Upload Object 的 Quantile 分位 I/O 大小。
      •     fslib s3 multi upload latency (quantile)
      • 类型:Histogram
      • 描述 S3 Multi Upload Object 的 Quantile 分位延迟。
      •     fslib s3 complete multi upload latency (quantile)
      • 类型:Histogram
      • 描述 S3 Complete Multi Upload Object 的 Quantile 分位延迟。
    • FSLIB CACHE METRICS

      •     fslib cache hit ratio
      • 类型:Counter
      • 描述 缓存命中率。
      •     fslib cache hits/misses
      • 类型:Counter
      • 描述 每秒的缓存命中/未命中次数。
    • FSLIB FS METRICS

      •     fslib alive fs instances count
      • 类型:Gauge
      • 描述 存活的文件系统实例数量。
      •     fslib open files
      • 类型:Counter
      • 描述 累计打开文件的数量。
      •     fslib create files
      • 类型:Counter
      • 描述 每秒平均创建的文件数量。
      •     filesystem meta operations
      • 类型:Counter
      • 描述 每秒平均 List 文件目录操作的次数。
      •     fslib async caches
      • 类型:Counter
      • 描述 异步缓存中的文件累计数量。
      •     fslib create files (TOTAL)
      • 类型:Counter
      • 描述 累计创建的文件数量。
      •     fslib async tasks
      • 类型:Counter
      • 描述 队列中异步任务的累计数量。



监控对接

监控配置

docs.starrocks.io/zh/docs/3.1…

Prometheus 配置

global:
  scrape_interval: 15s # 全局的采集间隔,默认是 1 min,此处设置为 15 sec。
  evaluation_interval: 15s # 全局的规则触发间隔,默认是 1 min,此处设置为 15 sec。

scrape_configs:
  - job_name: 'StarRocks_Cluster01' # 监控每一个集群称之为一个 job,您可以在此自定义 StarRocks 集群名。
    metrics_path: '/metrics'    # 指定获取监控项目的 Restful API。

    static_configs:
    # 当前部分配置了 FE 群组,其中包含了 3 个 FE 节点,您需填写各个 FE 对应的 IP 和 HTTP 端口。
    # 如果您在部署集群时修改过 HTTP 端口,请注意进行调整。
      - targets: ['192.168.110.101:8030','192.168.110.102:8030','192.168.110.103:8030']
        labels:
          group: fe

    # 当前部分配置了 BE 群组,其中包含了 3 个 BE 节点,您需填写各个 BE 对应的 IP 和 HTTP 端口。
    # 如果您在部署集群时修改过 HTTP 端口,请注意进行调整。
      - targets: ['192.168.110.101:8040','192.168.110.102:8040','192.168.110.103:8040']
        labels:
          group: be

grafan配置

配置prometheus数据源

导入并配置dashboard

根据StarRocks 版本下载对应的 Dashboard 模板。

  1.   StarRocks-1.19.0 之前版本 Dashboard 模版
  1.   StarRocks-1.19.0 开始到 StarRocks-2.4.0 之前版本 Dashboard 模版
  1.   StarRocks-2.4.0 及其之后版本 Dashboard 模版
  1.   存算分离 Dashboard 模版 - General
  1.   存算分离 Dashboard 模版 - Starlet

核心监控项

为了同时满足开发、运维和 DBA 等需求,StarRocks 提供了大量监控指标。业务常用的重要报警指标如下。其他指标内容,请参考 监控指标

FE/BE状态监控

报警项说明报警规则备注
Frontends StatusFE 节点状态。存活(alive)的节点状态为 1,宕机(DEAD)的节点会显示为 0。所有 FE 节点状态需均为alive,任一 FE 节点状态为 DEAD 都应触发报警。FE 或 BE 宕机都属于异常行为,需要及时排查宕机原因。
Backends StatusBE 节点状态。存活(alive)的节点状态为 1,宕机(DEAD)的节点会显示为 0。所有 BE 节点状态需均为 alive,任一 BE 节点状态为 DEAD 都应触发报警。

查询失败监控

报警项说明报警规则备注
Query Error一分钟内失败的查询率(包括 Timeout)。其值即为一分钟内失败的查询条数除以 60 秒。您可以结合业务实际的 QPS 来配置。初步可将该项报警阈值设置在 5% 左右,后续再调整。正常情况下,查询失败率不应太高。将阈值设为 5% 表示每分钟最多允许 3 条查询失败。如果该项报警,您可以排查资源占用情况或合理配置查询超时时间。

外部感知失败监控

报警项说明报警规则备注
Schema ChangeSchema Change 操作失败率。由于 Schema Change 是较低频的操作,建议您将该项配置为出现失败立即报警。正常情况下,Schema Change 操作不应该失败。如果该项报警,您可以调大变更表操作可用的内存上限,默认为 2G。

内部操作失败监控

报警项说明报警规则备注
BE Compaction Score所有 BE 最大的Compaction Score,表示当前 Compaction 压力。通常离线场景下,该值小于 100。但当有大量导入任务存在时,Compaction Score 会有明显增高。通常当该值大于 800 的时候需要干预。通常,Compaction Score大于 1000 时就会报错,StarRocks 会报错 “Too many versions”。您可以调低导入并发和导入频率。
CloneBE 的 Clone 任务失败率。建议您将该项配置为出现失败立即报警。如果该项报警,您可以检查 BE 状态、磁盘状态和网络状态。

服务可用性监控

报警项说明报警规则备注
Meta Log CountFE 节点 BDB 元数据 Log 条数。建议您将该项配置为大于 100000 立即报警。Leader FE 节点的 Log 数量默认超过 50000 条会触发 CheckPoint 进行落盘。如果该值远超 50000,通常代表 CheckPoint 失败。您可以排查 fe.conf 中的 Xmx 堆内存配置是否合理。

机器过载监控项

报警项说明报警规则备注
BE CPU IdleBE CPU 空闲率。建议您将该项配置为空闲率小于 10% 持续30 秒则报警。该项主要用于监测 CPU 资源瓶颈。CPU 占用率的波动性比较大,如果统计间隔太小会导致误报。所以您需要结合业务实际情况调整该项,如果确实存在多个大任务的批量处理或较多的查询,可调低该阈值。
BE Mem各个 BE 节点的内存使用情况。建议您将该项配置为各个 BE 可用内存大小的90%。该值与 Process Mem 取值相同,BE 默认内存上限为 be.conf 中的mem_limit=90%,即 BE 所在服务器内存的 90%。如果您同时在该服务器上混部其他服务,请注意调整该值,避免 OOM。而该项的报警阈值则需要设为该上限的 90%,以确认 BE 内存资源是否已达到瓶颈。
Disks Avail Capacity各 BE 节点本地磁盘容量可用比例(百分比)。建议您将该项配置为小于 20% 立即报警。建议您根据业务需求为集群保留充足可用空间。
FE JVM Heap StatStarRocks 集群各个 FE 的 JVM 堆内存使用百分比。建议您将该项配置为大于等于 80% 立即报警。堆内存报警后建议调大 fe.conf 中的 Xmx 堆内存,否则容易影响查询效率或出现 FE OOM。