Gosight Server
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.
Go Svelte Javascript SQL YAML JSON Backend
Project Information
Stars
0
Language
Go
License GNU General Public License v3.0
Updated
June 14, 2025
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.
Documentation
Features
- 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
Architecture
- 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
Build
go build -o gosight-server ./cmd
Running
./gosight-server --config ./config.yaml
See sample config in ./server/config/
.
Key Components / Directory Overview
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
License
GPL-3.0-or-later
Images are automatically mirrored
Images from the GitHub repository are downloaded and hosted locally to ensure they load properly.