StarRocks慢查询拦截工具

这块得配置自己填哈,

例如:
INSERT INTO sr_slow_query_config
(slow_query_time, slow_query_ktime, slow_query_concurrencylimit, slow_query_version, slow_query_focususer, slow_query_proxy_feishu, slow_query_grafana, slow_query_lark_app, slow_query_lark_appid, slow_query_lark_appsecret, slow_query_email_host, slow_query_email_from, slow_query_email_to, slow_query_email_cc, slow_query_email_bc, slow_query_email_suffix, slow_query_email_reference_material, slow_query_frontend_avgs, slow_query_frontend_fullscan_num, slow_query_frontend_insert_catalog_scanrow, slow_query_frontend_memoryusage, slow_query_frontend_scanrows, slow_query_frontend_scanbytes, slow_query_data_registration_username, slow_query_data_registration_password, slow_query_data_registration_table, slow_query_data_registration_host, slow_query_data_registration_port, slow_query_resource_group_cpu_core_limit, slow_query_resource_group_mem_limit, slow_query_resource_group_concurrency_limit, updated_at)
VALUES(600, 1800, 80, ‘’, ‘root,test1’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘参考资料,慢查询拦截说明,参考资料,建表规范,参考资料,如何正确使用分桶键和分桶数,参考资料,如何正确使用排序键,参考资料,BROKER LOAD’, ‘parallel_fragment_exec_instance_num=15,query_mem_limit=274877906944,load_mem_limit=274877906944,exec_mem_limit=274877906944,pipeline_dop=16’, 200000000, 100000000, 200, 10000000000, 5, ‘’, ‘’, ‘’, ‘’, 8030, 10, 50, 3, ‘2025-03-18 14:51:18’);

ERROR [2025-04-03T08:52:25Z] EtricsResourceGroup.go:84 config db is null,已经在manager表里配置了sr_adhoc

您找到这个文件,然后找到这句"db, err := conn.StarRocks(“sr-adhoc”)",把后面这个"sr-adhoc",换成你的"sr_adhoc"

博主你好,能不能把慢查询拦截记录表的schema发下,通过streaming load放到sr上的那张记录表

CREATE TABLE `ops_starrocks_schema_slowquery` (
  `ts` date NOT NULL COMMENT "数据载入日期",
  `app` varchar(64) NOT NULL COMMENT "集群名称",
  `queryId` varchar(64) NOT NULL COMMENT "查询的唯一ID",
  `origin` varchar(500) NULL COMMENT "SQL原始语句中涉及到的表",
  `domain` varchar(64) NULL COMMENT "主题域简称",
  `owner` varchar(64) NULL COMMENT "主题域owner",
  `action` int(11) NULL COMMENT "拦截行为:⓿.状态异常停留清退,①.异常违规参数查杀,②.10分钟慢查询提醒,③.30分钟慢查询查杀,④.全表扫描亿级查杀,⑤.TB级扫描字节查杀,⑥.百亿扫描行数查杀,⑦.CATALOG违规查杀,⑧.GB级消耗内存查杀",
  `timestamp` datetime NOT NULL COMMENT "查询开始时间",
  `queryType` varchar(12) NULL COMMENT "查询类型(query, slow_query,connection)",
  `clientIp` varchar(32) NULL COMMENT "客户端IP",
  `user` varchar(64) NULL COMMENT "查询用户名",
  `authorizedUser` varchar(64) NULL COMMENT "用户唯一标识,既user_identity",
  `resourceGroup` varchar(64) NULL COMMENT "资源组名",
  `catalog` varchar(32) NULL COMMENT "数据目录名",
  `db` varchar(96) NULL COMMENT "查询所在数据库",
  `state` varchar(8) NULL COMMENT "查询状态(EOF,ERR,OK)",
  `errorCode` varchar(96) NULL COMMENT "错误码",
  `queryTime` bigint(20) NULL COMMENT "查询执行时间(秒)",
  `scanBytes` bigint(20) NULL COMMENT "查询扫描的字节数",
  `scanRows` bigint(20) NULL COMMENT "查询扫描的记录行数",
  `returnRows` bigint(20) NULL COMMENT "查询返回的结果行数",
  `cpuCostNs` bigint(20) NULL COMMENT "查询CPU耗时(纳秒)",
  `memCostBytes` bigint(20) NULL COMMENT "查询消耗内存(字节)",
  `stmtId` int(11) NULL COMMENT "SQL语句增量ID",
  `isQuery` tinyint(4) NULL COMMENT "SQL是否为查询(1或0)",
  `feIp` varchar(32) NULL COMMENT "执行该语句的FE IP",
  `stmt` varchar(1048576) NULL COMMENT "SQL原始语句",
  `digest` varchar(32) NULL COMMENT "慢SQL指纹",
  `planCpuCosts` double NULL COMMENT "查询规划阶段CPU占用(纳秒)",
  `planMemCosts` double NULL COMMENT "查询规划阶段内存占用(字节)",
  `pendingTimeMs` bigint(20) NULL COMMENT "查询在队列中等待的时间(毫秒)",
  `logfile` varchar(200) NULL COMMENT "日志文件",
  `optimization` int(11) NULL COMMENT "是否做过优化:0.没有优化,1~99.代表优化次数",
  `optimizationItems` varchar(1048576) NULL COMMENT "优化项"
) ENGINE=OLAP 
PRIMARY KEY(`ts`, `app`, `queryId`)
COMMENT "慢查询审计日志表"
PARTITION BY date_trunc('day', ts)
DISTRIBUTED BY HASH(`ts`, `queryId`)
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"enable_persistent_index" = "true",
"replicated_storage" = "true",
"compression" = "LZ4"
);

感谢楼主,另外问下,我设置了慢查询时间为15s,构造了一个20s的查询,但是慢查询拦截记录上没有。另外博主能不能留个微信,方便交流学习

嗯嗯,wx: @chengkenli

2025.04.30 修复某些BUG

大佬这是啥问题

04.30 我推了一版新的,你用的是新的包吗

昨天 git上拉下来的

看下脱敏后的配置文件

数据里面的配置还是?starrocks.yaml?

yaml

红框的没建,这个有影响?
然后这几张mysql表都要配置好?

下面的这些,你是没有的,不需要填,注释

#    IpSystem: ops.ops_starrocks_ip_system
#    starrocks_information_slowconfig表中slow_query_metaapp字段代表元数据名称,内部人员飞书信息表
#    表建在StarRocks集群中,struct请参考exec.sql
#    LarkMeta: ops.feishu_user_information

# 当运行调试模式时,可以将告警对接到下面的飞书群
# 从而不走global设置
#mode:
#  Debug: xxx
#  Info: xxx

# 主题域
#domain:
#  AppKey: xxx
#  Sign: xxx
#  WorksheetId: xxx
#  Uri: xxx

不需要,这是额外的功能


注释掉了,报错还是一样的

这张图里面有密钥,帮忙撤一下

好的,抱歉。