blumeops/docs/reference/services/loki.md
Erich Blume 1c32e351f7 Backfill date-modified frontmatter on all docs
Dagger's --src=. excludes .git, so Quartz can't use git history for
page dates inside containers. Populate date-modified: YYYY-MM-DD in
frontmatter for all 80 doc articles so the frontmatter priority level
(highest in quartz.config.ts) works with or without git.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:11:05 -08:00

1.3 KiB

title date-modified tags
Loki 2026-02-08
service
observability

Loki

Log aggregation system for BlumeOps infrastructure.

Quick Reference

Property Value
URL https://loki.ops.eblu.me
Tailscale URL https://loki.tail8d86e.ts.net
Namespace monitoring
Image grafana/loki:3.4.2
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