72 lines
1.6 KiB
Text
72 lines
1.6 KiB
Text
# Observability Default Configuration
|
|
# Base defaults for logging, metrics, health checks, and audit
|
|
|
|
let observability_schema = import "../../common/observability.ncl" in
|
|
|
|
{
|
|
observability | observability_schema.ObservabilityConfig = {
|
|
# Observability enabled globally
|
|
enabled = true,
|
|
|
|
# Logging Defaults
|
|
logging = {
|
|
enabled = true,
|
|
level = "info",
|
|
format = "json",
|
|
output = {
|
|
destination = "stdout",
|
|
},
|
|
fields = {
|
|
service_name = true,
|
|
timestamp = true,
|
|
level = true,
|
|
caller = false,
|
|
spans = true,
|
|
},
|
|
sampling = {
|
|
enabled = false,
|
|
},
|
|
},
|
|
|
|
# Metrics Defaults
|
|
metrics = {
|
|
enabled = true,
|
|
exporter = "prometheus",
|
|
prometheus_path = "/metrics",
|
|
interval = 60,
|
|
histogram_buckets = [1, 5, 10, 50, 100, 500, 1000, 5000],
|
|
},
|
|
|
|
# Health Check Defaults
|
|
health = {
|
|
enabled = true,
|
|
port = 8081,
|
|
liveness_path = "/healthz",
|
|
readiness_path = "/ready",
|
|
startup_path = "/startup",
|
|
interval = 10,
|
|
timeout = 5000,
|
|
success_threshold = 1,
|
|
failure_threshold = 3,
|
|
initial_delay = 0,
|
|
},
|
|
|
|
# Distributed Tracing Defaults
|
|
tracing = {
|
|
enabled = false,
|
|
backend = "otlp",
|
|
sampler = "parentbased",
|
|
},
|
|
|
|
# Audit Logging Defaults
|
|
audit = {
|
|
enabled = true,
|
|
storage = "file",
|
|
retention_days = 90,
|
|
include_pii = false,
|
|
export_formats = ["jsonl"],
|
|
track_workspace_operations = true,
|
|
workspace_operations = ["create", "delete", "update", "switch", "list", "sync"],
|
|
},
|
|
},
|
|
}
|