星辰守望 - StarRocks小助手

星辰守望 - StarRocks小助手2.0 – 来自管理员便捷式管理查询会话

简介

没有过多的技术含量,不做特别介绍了。

这是一个StarRocks集群 对正在运行的语句可管理小助手。

一、查询

这里的数据来源于用户提交的所有select/insert语句。

二、导入

这里的数据来源于Broker Load类型。

三、实时

这里的数据来源于flink类型。

四、异步

这里的数据来源于submit、物化视图异步类型。

五、内部

这里的数据来源于alter类型。

六、分桶

这里的数据来源于分区分桶倾斜降序top100。

七、分片

这里的数据来源于tablet过大降序top35。

八、巡检

生成自动巡检报告,点击后触发后台协程巡检集群状态。

直接PENDING转变为FINISHED后,再次点击即可查看集群巡检报告。

九、内存

这里的数据来源于mem_tracker接口。

十、查询队列

这里的数据来源于查询队列。

十一、睡眠连接

这里的数据来源于sleep连接数汇总。

十二、集群元数据

这里的数据来源于statistic。

十二、报错采集

这里的数据来源于【企业版】MANAGER MYSQL元数据库。

除查询报错需要企业版,其他报错汇总社区版可采集。

十三、查杀

这里的行为主要是用于查杀、清理语句。

操作

一、MYSQL

你需要拥有一个mysql库,里面需要有一张表用于填写StarRocks的登录信息,程序通过这个表以获取登录配置。

 CREATE TABLE `starrocks_information_connections` (                                                                                            
  `app` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '集群名称(英文)',                                      
  `nickname` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '别名',                                           
  `alias` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '集群别名',                                      
  `feip` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '集群连接地址(必填)F5,VIP,CLB,FE',                    
  `user` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '集群登录账号(必填) 建议是管理员角色的账号',          
  `password` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '集群登录密码(必填)',                             
  `feport` int NOT NULL DEFAULT '9030' COMMENT '集群登录端口,默认9030',                                                                      
  `status` int NOT NULL DEFAULT '0' COMMENT '配置生效开关,0 off, 1 on',                                                                       
  `meta_user` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'manager元数据的用户名',                     【企业版】MANAGER MYSQL账号,非必填
  `meta_pass` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'mysql元数据的密码',                         【企业版】MANAGER MYSQL密码,非必填
  `meta_host` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,                                                     【企业版】MANAGER MYSQL地址,非必填
  `fe_log_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'FE 日志目录',                             【社区版】生成巡检报告需要时需要,/starrocks/fe-*/log/,非必填
  `be_log_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT 'BE 日志目录',                             【社区版】生成巡检报告需要时需要,/starrocks/be-*/log/,非必填
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'                                        
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='StarRocks登录配置,manager地址,(定期检查license过期日期)';        

二、进程

你需要将templates文件夹指定到配置文件中,以便程序启动时正常读取。

三、配置

精简版

metadb:
  host: 127.0.0.1
  port: 3306
  user: root
  password: lizhenghua1.
  base: chengken.starrocks_information_connections

server:
  port: 19321
  token: "123456"
  loadhtmlglob: /u1/dlopsnas/chengken/templates/html/*.html
  loadstatic: /u1/dlopsnas/chengken/templates/static

log:
  path: '/u/users/svccndlopsns/chengken/log'

完整版

metadb:
  host: 127.0.0.1                                                   #mysql地址
  port: 3306                                                        #mysql端口
  user: root                                                        #mysql账号
  password: lizhenghua1.                                            #mysql密码
  base: chengken.starrocks_information_connections                  #mysql配置表

server:
  port: 19321                                                       #服务端口
  token: "123456"                                                   #登录token,登陆方式:123456+当前日期,比如今天是20260401,那么登录密码就是:1234560401
  sshuser: starrocks                                                #巡检报告,免密到fe和be
  loadhtmlglob: /u1/dlopsnas/chengken/templates/html/*.html         #静态页面
  loadstatic: /u1/dlopsnas/chengken/templates/static                #静态资源


schema:
  auditops: audit.starrocks_audit_log                               #审计表
  filter_errmsg: 'unknown thread id|unknown resource group|detail message: unknown user|cannot find user'  #企业版功能
  whiteip:                                                          #登录白名单IP
    - 10.10.10.10
    - 10.10.10.11
category:                                                           #企业版功能
  0:
  1:
    - 'rpc failed'
    - 'since transaction status unknown'
    - 'Commit failed'
    - 'crash of backends'
    - 'Not connected to'
    - 'Fe abort the task'
    - 'no associated load channel'
    - 'Failed to lock database'
    - 'Broker storage service error'
    - 'only found column statistics'
    - 'Table creation timed out'
    - 'HdfsOrcScanner'
    - 'ORC reader read file'
    - 'Query has been cancelled'

  2:
    - 'is not found'
    - 'cannot be resolved'
    - 'Unknown user'
    - 'Unknown table'
    - 'Unknown database'
    - 'Access denied'
    - 'type:LOAD_RUN_FAIL; msg:Cancelled'
    - 'Mem usage has exceed the limit of single query'
    - 'please check trackingSQL'
    - 'is not active'
    - 'Memory'
    - 'column count'
    - 'cannot find user'
    - 'truncate a file by broker'
    - ' column '
    - 'select tracking_log'
    - 'already exists'
    - 'No database selected'
    - 'Unknown partition'
    - 'Unsupported insert overwrite hive unpartitioned'
    - 'table not found'
    - 'KILL QUERY'
    - 'A schema change operation is in progress'
    - 'Type (nested) percentile/hll/bitmap/json not'
    - 'Connection reset by peer'
    - 'exceed big query'
    - 'Getting analyzing error'
    - 'killed by kill statement'
    - 'max_automatic_partition_number'



log:
  path: '/u/users/svccndlopsns/chengken/log'

source:

@github.com/chengkenli/StarRocksProbe

1赞

只能喊大佬 666了

大佬的SR项目都很实用厉害

[GIN] 2026/04/03 - 14:01:18 | 401 | 13.258µs | 10.251.172.244 | POST “/verify-token”
INFO [2026-04-03T14:01:18+08:00] api_report.go:45 巡检队列中已经存在该任务!不允许重复提交!
[GIN] 2026/04/03 - 14:01:18 | 200 | 150.756µs | 10.251.172.190 | GET “/api/report_path”
INFO [2026-04-03T14:01:18+08:00] app_Subject_index.go:75 zzk_sr1参数巡检…
INFO [2026-04-03T14:01:18+08:00] app_Subject_index.go:57 zzk_sr1节点巡检…
INFO [2026-04-03T14:01:18+08:00] app_Subject_index.go:51 zzk_sr1配置巡检…
open /root/.ssh/id_rsa: no such file or directory
ssh: no key found
INFO [2026-04-03T14:01:18+08:00] app_Subject_index.go:69 zzk_sr1日志巡检…
open /root/.ssh/id_rsa: no such file or directory
ssh: no key found
INFO [2026-04-03T14:01:18+08:00] app_Subject_index.go:63 zzk_sr1内表巡检…
INFO [2026-04-03T14:01:18+08:00] app_Subject_node.go:95 zzk_sr1节点巡检完成。
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xf68392]

goroutine 769 [running]:
golang.org/x/crypto/ssh.publicKeyCallback.auth(0x11?, {0x287022301060, 0x20, 0x20}, {0x28702106e550, 0x9}, {0x132f670, 0x287020e22000}, {0x13277c0, 0x1e52760}, …)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client_auth.go:318 +0x132
golang.org/x/crypto/ssh.(*connection).clientAuthenticate(0x287022b88300, 0x2870225d2ea0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client_auth.go:72 +0x382
golang.org/x/crypto/ssh.(*connection).clientHandshake(0x287022b88300, {0x287022cf3360, 0xe}, 0x2870225d2ea0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:114 +0x38f
golang.org/x/crypto/ssh.NewClientConn({0x133ae08, 0x28702163ad60}, {0x287022cf3360, 0xe}, 0x287021169710)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:83 +0x145
golang.org/x/crypto/ssh.Dial({0x129f4b8?, 0x5?}, {0x287022cf3360, 0xe}, 0x287021169710)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:182 +0x47
StarRocksProbe/conn.connectSSH({0x28702106e550, 0x9}, {0x2870228bf4e0?, 0x0?}, 0x16, {0x132afb8, 0x287021aed240})
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/conn/ConnectSSH.go:74 +0x1a6
StarRocksProbe/conn.ConnectSSH(0x287021169ae0)
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/conn/ConnectSSH.go:23 +0x7c
StarRocksProbe/ins.loginsp(0x0, {0x0, 0x0}, {0x0, 0x0}, {0x28702239ae80, 0x3, 0xcdae98?}, {0x28702239afe0, 0x3, …})
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_log.go:155 +0x631
StarRocksProbe/ins.SubjectLog({0x28702239c045, 0x7}, {0x2870228bf410, 0xe}, {0x0?, 0x0?}, {0x0?, 0x7?}, 0x13?, {0x28702239ae80, …}, …)
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_log.go:26 +0x9e
StarRocksProbe/ins.SubjectIndex.func4()
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_index.go:70 +0x27e
created by StarRocksProbe/ins.SubjectIndex in goroutine 42
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_index.go:66 +0x951

为啥运行一会儿,就必报错退出,必须配ssh免密吗?

理解了,我修一下.

大佬,修好了吗?我连一会儿,点巡检,还会报错。没有巡检需求,没配ssh免密是否有影响。
[GIN] 2026/04/07 - 10:50:57 | 200 | 21.219684ms | 10.251.172.244 | GET “/api/submit”
INFO [2026-04-07T10:51:00+08:00] app_Subject_index.go:87 zzk_sr2参数巡检…
INFO [2026-04-07T10:51:00+08:00] app_Subject_index.go:81 zzk_sr2日志巡检…
open /root/.ssh/id_rsa: no such file or directory
ssh: no key found
INFO [2026-04-07T10:51:00+08:00] app_Subject_index.go:69 zzk_sr2内表巡检…
INFO [2026-04-07T10:51:00+08:00] app_Subject_index.go:63 zzk_sr2节点巡检…
INFO [2026-04-07T10:51:00+08:00] app_Subject_node.go:95 zzk_sr2节点巡检完成。
INFO [2026-04-07T10:51:00+08:00] api_report.go:45 巡检队列中已经存在该任务!指标置为FINISHED代表巡检完成!
[GIN] 2026/04/07 - 10:51:00 | 200 | 121.179µs | 10.251.172.244 | GET “/api/report_path”
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xf684b2]

goroutine 664 [running]:
golang.org/x/crypto/ssh.publicKeyCallback.auth(0x11?, {0x23afdf1beb00, 0x20, 0x20}, {0x23afde206550, 0x9}, {0x132fa10, 0x23afdf7ed1e0}, {0x1327b60, 0x1e52760}, …)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client_auth.go:318 +0x132
golang.org/x/crypto/ssh.(*connection).clientAuthenticate(0x23afdfa4e400, 0x23afdf6440d0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client_auth.go:72 +0x382
golang.org/x/crypto/ssh.(*connection).clientHandshake(0x23afdfa4e400, {0x23afdf5425e0, 0xf}, 0x23afdf6440d0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:114 +0x38f
golang.org/x/crypto/ssh.NewClientConn({0x133b1a8, 0x23afdebc4c88}, {0x23afdf5425e0, 0xf}, 0x23afdf4416f0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:83 +0x145
golang.org/x/crypto/ssh.Dial({0x129f638?, 0x5?}, {0x23afdf5425e0, 0xf}, 0x23afdf4416f0)
/u/users/svccndlopsns/go/pkg/mod/golang.org/x/crypto@v0.39.0/ssh/client.go:182 +0x47
StarRocksProbe/conn.connectSSH({0x23afde206550, 0x9}, {0x23afdfc13d90?, 0x0?}, 0x16, {0x132b358, 0x23afdf50c520})
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/conn/ConnectSSH.go:74 +0x1a6
StarRocksProbe/conn.ConnectSSH(0x23afdf441ac0)
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/conn/ConnectSSH.go:23 +0x7c
StarRocksProbe/ins.loginsp(0x0, {0x0, 0x0}, {0x0, 0x0}, {0x23afdf492120, 0x3, 0xcdae98?}, {0x23afdf4922c0, 0x3, …})
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_log.go:155 +0x631
StarRocksProbe/ins.SubjectLog({0x23afdfbdb775, 0x7}, {0x23afdfc422c8, 0x3}, {0x0?, 0x0?}, {0x0?, 0x0?}, 0xffffffffffffffff?, {0x23afdf492120, …}, …)
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_log.go:26 +0x9e
StarRocksProbe/ins.SubjectIndex.func4()
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_index.go:82 +0x351
created by StarRocksProbe/ins.SubjectIndex in goroutine 368
/u/users/svccndlopsns/chengken/gobuild/StarRocksProbe/ins/app_Subject_index.go:72 +0x951

@乞丐的生鱼片 哥们,你这个版本不是最新的,你下载最新的版本试一下

我就是更新的git上最新打包版本,4天前的那个,StarRocks小助手2.0.1

@乞丐的生鱼片 你使用的是哪个包?redhat还是ubuntu?还有你的配置文件,不需要填sshuser:这个配置了。

两个都试了,sshuser配了,这个项是删除,还是空着就行?我再试试

@乞丐的生鱼片 2.0.2版本之前,没有免密的sshuser需要删除,2.0.2版本后加了多重校验, 可以随便填,校验不上不会中断。

可以了,感谢大佬

@夏天12 大佬,按照步骤配置的,咋就报错了呢。(版本:星辰守望 - StarRocks小助手2.0.2)
错误:
[init]. please set up the account password and connection address in the configuration table.

配置文件:

数据库:
INSERT INTO chengken.starrocks_information_connections (
app,
nickname,
alias,
feip,
user,
password,
feport,
status,
meta_user,
meta_pass,
meta_host,
fe_log_path,
be_log_path,
updated_at
)
VALUES
(
‘SR’,
‘SR’,
‘SR’,
‘192.168.0.180’,
‘root’,
‘root2026’,
9030,
0,
NULL,
NULL,
NULL,
‘/opt/StarRocks/fe/log/’,
‘/opt/StarRocks/be/log/’,
‘2026-04-09 15:31:02’
);

@sypm MYSQL数据库配置表的status 这个字段,改成1,1代表启用这个配置。

这个支持starrocks哪些版本? 2.5的版本支持吗?

@sszc 暂时没有限制,不过查询队列信息估计不全,你可以试试


SR 2.5.22版本,StarRocks小助手2.0.1版本。
报上面错误 ,然后日志 就一直打印:

页面也一直在刷新。

@sszc 嗯,这个是已知问题,在2.0.3修复了。