Grafana Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be cost-effective and easy to operate by indexing only log metadata (labels) rather than the log contents. The system consists of several loosely coupled services (distributor, ingester, querier, compactor, ruler) that can be deployed in a monolithic or microservices architecture. Logs are ingested via various protocols (HTTP, gRPC, Kafka) and integrations (fluent-bit, fluentd, logstash, Docker driver), stored in chunk format in object stores, and indexed by labels in a separate store. Queries are executed using LogQL, which allows filtering by label expressions and log content. The system includes a ruler for alerting and recording rules, a compactor for storage optimization, and a Kubernetes operator for deployment and management.
VictoriaLogs is a high-performance, lightweight log management system designed for both small and large-scale deployments. It consists of multiple Go-based services for log ingestion (vlagent, vlinsert), storage (vlstorage), and querying (vlselect), complemented by a Preact/TypeScript web UI (vmui). The system uses a columnar storage approach with bloom filters, custom encoding, and a pipeline-based query engine (LogsQL) for efficient log processing. Key architectural patterns include composable data transformation pipes, extensible filter systems, mergeable statistical aggregations, and object pooling for performance optimization. The frontend features a modular component architecture with custom hooks for state management, contextual controls, and interactive visualizations.
This repository builds and maintains the `grafana/otel-lgtm` Docker image, an all-in-one OpenTelemetry backend for development, demo, and testing. It bundles Grafana, Prometheus, Tempo, Loki, Pyroscope, and the OpenTelemetry Collector into a single container, providing a complete observability stack with a single `docker run` command. The image supports optional eBPF-based auto-instrumentation (OBI) for zero-code traces and RED metrics, and can export telemetry to external vendors via OTLP. The architecture is a multi-stage Docker build that downloads and verifies each component using checksums or cosign signatures. The container entrypoint (`run-all.sh`) starts all services in parallel, waits for health checks, and handles graceful shutdown. The OpenTelemetry Collector configuration is dynamically extended based on environment variables (debug exporter, external endpoints, custom headers). The repository also includes example applications in Java, Go, Python, .NET, and Node.js that demonstrate OpenTelemetry instrumentation, along with acceptance tests (OATS) that validate traces, metrics, logs, and profiles. CI/CD is comprehensive: automated builds, linting (flint, hadolint, shellcheck, etc.), container scanning with Trivy, CodeQL analysis, and weekly scheduled releases with immutable version tags. Container images are signed with cosign and attested via GitHub Artifact Attestations. The repository is actively maintained with Renovate for dependency updates and a well-defined release process.
This repository is the official Helm chart distribution hub for Grafana's observability stack, containing over 20 charts for deploying Loki, Tempo, Mimir, Promtail, Grafana Agent, enterprise metrics/logs, and supporting components (rollout-operator, pdc-agent, snyk-exporter, etc.) on Kubernetes. The codebase is entirely Helm templates, values files, CRDs, and CI/CD scriptsβno application source code. The architecture follows standard Helm patterns with per-component subdirectories, shared helpers, and extensive use of conditional logic for enterprise features, scaling, and storage backends. Many charts are deprecated or have their source maintained in separate product repositories (e.g., grafana/loki, grafana/tempo), with releases still published here. The repository shows signs of technical drift (old API versions, duplicated template logic, legacy dependencies) but remains actively maintained for the remaining non-deprecated charts with recent CI updates and release automation. It serves as both a legacy archive and an active distribution point.