blumeops/docs/reference/services/loki.md
Erich Blume 06e721841c Review 12 reference docs: fix stale image refs, expand stubs, add cross-refs
Replace hardcoded image tags in Quick Reference tables with pointers to
kustomization manifests (tags drift with every container release). Fix
Prometheus CNPG scrape target, remove misleading .ts.net URLs, expand
external-secrets stub, add backup/disaster-recovery cross-references.
Limit doc-reviewer agent to one doc per cycle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:51:57 -07:00

1.4 KiB

title modified last-reviewed tags
Loki 2026-03-23 2026-03-23
service
observability

Loki

Log aggregation system for BlumeOps infrastructure.

Quick Reference

Property Value
URL https://loki.ops.eblu.me
Namespace monitoring
Image registry.ops.eblu.me/blumeops/loki (see argocd/manifests/loki/kustomization.yaml for current tag)
Storage 50Gi PVC
Retention 31 days

Architecture

  • Single-node deployment with filesystem storage
  • TSDB index with 24h period
  • Logs collected by alloy and pushed via Loki API
  • Queried via grafana

Log Sources

From Indri (via Alloy):

  • forgejo, tailscale (brew services)
  • alloy, borgmatic, zot, jellyfin (LaunchAgents)

From Kubernetes (via Alloy DaemonSet):

  • All pods in all namespaces

From Fly.io proxy (via embedded Alloy):

  • nginx JSON access logs ({instance="flyio-proxy", job="flyio-nginx"})

Query Examples (LogQL)

{service="forgejo"}                     # All forgejo logs
{service="borgmatic", stream="stderr"}  # Borgmatic errors
{host="indri"} |= "error"               # All logs containing "error"
{instance="flyio-proxy"} |= "docs.eblu.me" # Fly.io proxy access logs for docs