UNPKG

@mesh-tech/mesh-cli

Version:

CLI for Mesh platform development utilities

74 lines (69 loc) 2.27 kB
# Local OTel Collector — the SAME ingestion topology the hosted platform runs # (OpenTelemetryStack: collector → Loki via OTLP, → Tempo via OTLP gRPC, # metrics scraped by Prometheus). Locally the k8sattributes processor's job — # stamping k8s.namespace.name / k8s.deployment.name / k8s.container.name on # every record — is done at the edges instead: # - filelog: derives them from the log path # /var/log/mesh-apps/{namespace}/{service}.log (written by # `mesh dev --local`, namespace = {tenant}-{env}-{app}) # - otlp: apps send OTEL_RESOURCE_ATTRIBUTES injected by `mesh dev --local` # so hub-api's LogQL/TraceQL queries run UNCHANGED against local data. receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 filelog: include: - /var/log/mesh-apps/*/*.log start_at: beginning include_file_path: true operators: - type: regex_parser parse_from: attributes["log.file.path"] regex: '^/var/log/mesh-apps/(?P<mesh_namespace>[^/]+)/(?P<mesh_service>[^/]+)\.log$' - type: move from: attributes.mesh_namespace to: resource["k8s.namespace.name"] - type: move from: attributes.mesh_service to: resource["k8s.deployment.name"] - type: copy from: resource["k8s.deployment.name"] to: resource["k8s.container.name"] processors: batch: {} exporters: # Same exporter shape as the hosted collector: Loki's native OTLP endpoint. # Loki promotes k8s.namespace.name / k8s.deployment.name / # k8s.container.name to index labels (k8s_namespace_name, …) by default. otlphttp/loki: endpoint: http://loki:3100/otlp otlp/tempo: endpoint: tempo:4317 tls: insecure: true prometheus: endpoint: 0.0.0.0:8889 resource_to_telemetry_conversion: enabled: true extensions: health_check: endpoint: 0.0.0.0:13133 service: extensions: [health_check] pipelines: logs: receivers: [otlp, filelog] processors: [batch] exporters: [otlphttp/loki] traces: receivers: [otlp] processors: [batch] exporters: [otlp/tempo] metrics: receivers: [otlp] processors: [batch] exporters: [prometheus]