GoSight Server is a high-performance observability backend built in Go. It receives telemetry from GoSight Agents, OpenTelemetry Endpoints (GRPC) and SDK, and Syslog, stores metrics and logs, processes alerts, and serves a dynamic web UI for visualization and investigation.
- OpenTelemetry Endpoint for ingesting Metrics, Logs, and Traces
- TLS/mTLS-secured gRPC endpoints
- RFC 3164 / RFC 5424 / CEF compatible SysLog Server for ingesting logs
- VictoriaMetrics integration for metric and log storage (Time-Series + Compressed JSON for logs)
- PostgreSQL or file-backed log/event storage (AWS S3 Connector Planned)
- Rule-based alert evaluation + dispatch
- Live WebSocket telemetry streaming
- REST API for metrics, logs, endpoints, and alerts
- Reactive Sveltekit+Flowbite+Tailwind UI with ApexCharts and customizable dashboards
- Receives telemetry via gRPC stream
- Stores metrics in VictoriaMetrics
- Handles logs, alerts, commands, and events
- Web dashboard renders views from real-time and historical data
go build -o gosight-server ./cmd
./gosight-server --config ./config.yaml
See sample config in ./server/config/
.
internal/alerts/
– Alert models and rule evaluation engineinternal/auth/
– JWT-based authentication and session managementinternal/bootstrap/
– Server startup logic and configuration loadinginternal/bufferengine/
– Queue/buffer system for telemetry processinginternal/cache/
– In-memory caching layer for metadata and sessionsinternal/config/
– Configuration file parsing and defaultsinternal/contextutil/
– Request-scoped context helpersinternal/dispatcher/
– Alert action dispatcher for routes (webhook, script)internal/events/
– Event tracking and structured broadcastinginternal/grpc/
– gRPC service registration and listener setupinternal/http/
– HTTP server handlers and routing (REST and UI)internal/rules/
– Rule parsing, condition logic, and evaluation contextinternal/runner/
– Metric and log task execution pipelineinternal/store/
– Top-level store interface and wrappers:alertstore/
datastore/
eventstore/
logstore/
metastore/
metricindex/
metricstore/
routestore/
rulestore/
userstore/
internal/syncmanager/
– Live sync and periodic persistenceinternal/sys/
– System-level information accessinternal/syslog/
– SysLog server for ingesting logsinternal/telemetry/
– Metric and log ingestion + transformationinternal/testutils/
– Mocks and utilities for testinginternal/tracker/
– In-memory agent/container trackerinternal/usermodel/
– User, role, and permission modelsinternal/websocket/
– WebSocket hubs and live stream broadcasting
GPL-3.0-or-later