接入运维真实 metrics:负载、请求错误率与服务探测

- 新增 GET /admin/ops/metrics 与进程内请求统计中间件
- 运维页展示 CPU/内存/磁盘、24h 曲线与 WS/DB/存储状态
- 去掉未使用的消息队列占位项
This commit is contained in:
yml2213
2026-07-15 15:01:18 +08:00
parent a1336c630b
commit 9251815695
14 changed files with 797 additions and 248 deletions
+2
View File
@@ -44,6 +44,8 @@ func (m *MemoryStorage) PublicBase() string { return m.base }
func (m *MemoryStorage) EnsureBucket(context.Context) error { return nil }
func (m *MemoryStorage) HealthCheck(context.Context) error { return nil }
func (m *MemoryStorage) Get(key string) ([]byte, error) {
m.mu.RLock()
defer m.mu.RUnlock()
+5
View File
@@ -40,6 +40,11 @@ func NewS3(cfg config.StorageConfig) (*S3Storage, error) {
return &S3Storage{client: client, bucket: cfg.Bucket, base: base}, nil
}
func (s *S3Storage) HealthCheck(ctx context.Context) error {
_, err := s.client.BucketExists(ctx, s.bucket)
return err
}
func (s *S3Storage) EnsureBucket(ctx context.Context) error {
exists, err := s.client.BucketExists(ctx, s.bucket)
if err != nil {
+2
View File
@@ -17,6 +17,8 @@ type ObjectStorage interface {
PublicBase() string
// EnsureBucket 开发环境自动建桶
EnsureBucket(ctx context.Context) error
// HealthCheck 探测存储是否可达(运维监控用)
HealthCheck(ctx context.Context) error
}
// PutResult 上传结果