starrocks 监控指标
通用监控指标
docs.starrocks.io/zh/docs/adm…
| 监控指标 | 单位 | 类型 | 描述 |
|---|---|---|---|
| be_broker_count | 个 | 平均值 | Broker的数量 |
| be_brpc_endpoint_count | 个 | 平均值 | bRPC 中 StubCache 的数量 |
| be_bytes_read_per_second | Byte/秒 | 平均值 | BE 读取速度 |
| be_bytes_written_per_second | Byte/秒 | 平均值 | BE 写入速度 |
| be_base_compaction_bytes_per_second | Byte/秒 | 平均值 | BE 的基线合并速率 |
| be_cumulative_compaction_bytes_per_second | Byte/秒 | 平均值 | 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_avg | m 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_second | Byte/秒 | 平均值 | HTTP 请求发送字节数 |
| fe_connections_per_second | 个/秒 | 平均值 | FE 的新增连接速率 |
| fe_connection_total | 个 | 累计值 | FE 的总连接数量 |
| fe_edit_log_read | 个/秒 | 平均值 | FE edit log 读取速率 |
| fe_edit_log_size_bytes | Byte/秒 | 平均值 | FE edit log 大小 |
| fe_edit_log_write | Byte/秒 | 平均值 | 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_jobs | Counter | 物化视图刷新作业的总数 |
| mv_refresh_total_success_jobs | Counter | 执行成功的物化视图刷新作业的数量 |
| mv_refresh_total_failed_jobs | Counter | 执行失败的物化视图刷新作业的数量 |
| mv_refresh_total_empty_jobs | Counter | 因刷新数据为空而取消的物化视图刷新作业的数量 |
| mv_refresh_total_retry_meta_count | Counter | 物化视图刷新作业检查基表是否变更的次数 |
| mv_query_total_count | Counter | 物化视图在查询的预处理中被使用的次数 |
| mv_query_total_hit_count | Counter | 物化视图被查询计划认为能够改写当前查询的次数,由于最终的查询计划可能由于成本过高而跳过改写,因此观察到的值会相比实际较高 |
| mv_query_total_considered_count | Counter | 物化视图改写查询的次数(不包括直接针对物化视图的查询) |
| mv_query_total_matched_count | Counter | 物化视图参与最终查询计划的次数(包括直接针对物化视图的查询) |
| mv_refresh_pending_jobs | Gauge | 物化视图当前等待执行的刷新作业数量 |
| mv_refresh_running_jobs | Gauge | 物化视图当前正在执行的刷新作业数量 |
| mv_row_count | Gauge | 物化视图的行数 |
| mv_storage_size | Gauge | 物化视图的大小,单位:Byte |
| mv_inactive_state | Gauge | 物化视图的状态,有效值:0(active)和 1(inactive) |
| mv_partition_count | Gauge | 物化视图中的分区数,如果物化视图未分区,则该值为 0 |
| mv_refresh_duration | Histogram | 执行成功的物化视图刷新作业的持续时间 |
存算分离集群监控指标
docs.starrocks.io/zh/docs/adm…
StarRocks 为存算分离集群提供以下两种 Dashboard 模板:
-
-
Shared-data Dashboard 包括以下监控指标类别:
-
- Latency / QPS
- 描述 Public Version 任务的 Quantile 分位数延迟、平均延迟和 QPS。
- Queued Tasks
- 描述 Public Version 队列中的任务数量。
-
- 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 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 Deletes
- 描述 Vacuum Deletes 任务的 Quantile 分位数延迟、平均延迟和 QPS。
- Errors
- 描述 Vacuum Deletes 操作失败的次数。
-
- Queue Size
- 描述 BE Async Delta Writer 的队列长度。
-
-
-
Starlet Dashboard 包括以下监控 指标 类别:
-
- 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_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 吞吐量。
-
- 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 hit ratio
- 类型:Counter
- 描述 缓存命中率。
- fslib cache hits/misses
- 类型:Counter
- 描述 每秒的缓存命中/未命中次数。
-
- 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 模板。
核心监控项
为了同时满足开发、运维和 DBA 等需求,StarRocks 提供了大量监控指标。业务常用的重要报警指标如下。其他指标内容,请参考 监控指标。
FE/BE状态监控
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| Frontends Status | FE 节点状态。存活(alive)的节点状态为 1,宕机(DEAD)的节点会显示为 0。 | 所有 FE 节点状态需均为alive,任一 FE 节点状态为 DEAD 都应触发报警。 | FE 或 BE 宕机都属于异常行为,需要及时排查宕机原因。 |
| Backends Status | BE 节点状态。存活(alive)的节点状态为 1,宕机(DEAD)的节点会显示为 0。 | 所有 BE 节点状态需均为 alive,任一 BE 节点状态为 DEAD 都应触发报警。 |
查询失败监控
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| Query Error | 一分钟内失败的查询率(包括 Timeout)。其值即为一分钟内失败的查询条数除以 60 秒。 | 您可以结合业务实际的 QPS 来配置。初步可将该项报警阈值设置在 5% 左右,后续再调整。 | 正常情况下,查询失败率不应太高。将阈值设为 5% 表示每分钟最多允许 3 条查询失败。如果该项报警,您可以排查资源占用情况或合理配置查询超时时间。 |
外部感知失败监控
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| Schema Change | Schema Change 操作失败率。 | 由于 Schema Change 是较低频的操作,建议您将该项配置为出现失败立即报警。 | 正常情况下,Schema Change 操作不应该失败。如果该项报警,您可以调大变更表操作可用的内存上限,默认为 2G。 |
内部操作失败监控
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| BE Compaction Score | 所有 BE 最大的Compaction Score,表示当前 Compaction 压力。 | 通常离线场景下,该值小于 100。但当有大量导入任务存在时,Compaction Score 会有明显增高。通常当该值大于 800 的时候需要干预。 | 通常,Compaction Score大于 1000 时就会报错,StarRocks 会报错 “Too many versions”。您可以调低导入并发和导入频率。 |
| Clone | BE 的 Clone 任务失败率。 | 建议您将该项配置为出现失败立即报警。 | 如果该项报警,您可以检查 BE 状态、磁盘状态和网络状态。 |
服务可用性监控
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| Meta Log Count | FE 节点 BDB 元数据 Log 条数。 | 建议您将该项配置为大于 100000 立即报警。 | Leader FE 节点的 Log 数量默认超过 50000 条会触发 CheckPoint 进行落盘。如果该值远超 50000,通常代表 CheckPoint 失败。您可以排查 fe.conf 中的 Xmx 堆内存配置是否合理。 |
机器过载监控项
| 报警项 | 说明 | 报警规则 | 备注 |
|---|---|---|---|
| BE CPU Idle | BE 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 Stat | StarRocks 集群各个 FE 的 JVM 堆内存使用百分比。 | 建议您将该项配置为大于等于 80% 立即报警。 | 堆内存报警后建议调大 fe.conf 中的 Xmx 堆内存,否则容易影响查询效率或出现 FE OOM。 |