feat(observability): implement global database error logging, Prometheus error metrics, and max 3-panel Grafana dashboard
This commit is contained in:
@@ -71,6 +71,19 @@ CREATE TABLE IF NOT EXISTS settings (
|
||||
description TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS error_logs (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
service_name VARCHAR(64) NOT NULL,
|
||||
error_type VARCHAR(128) NOT NULL,
|
||||
error_message TEXT NOT NULL,
|
||||
traceback TEXT,
|
||||
context JSONB DEFAULT '{}'::jsonb,
|
||||
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_error_logs_created_at ON error_logs(created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_error_logs_service ON error_logs(service_name);
|
||||
|
||||
-- Migration safety for existing tables
|
||||
ALTER TABLE targets ADD COLUMN IF NOT EXISTS personality TEXT DEFAULT '';
|
||||
ALTER TABLE targets ADD COLUMN IF NOT EXISTS custom_footer TEXT DEFAULT '';
|
||||
|
||||
Reference in New Issue
Block a user