Add Fly.io proxy observability via embedded Alloy #123
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/flyio-observability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
stub_statusendpoint for connection-level metrics (active/reading/writing/waiting)host="docs.eblu.me") and Fly.io Proxy Health (aggregate proxy health across all upstream services)Changed Files
fly/nginx.conflog_format+access_log, addstub_statusendpointfly/Dockerfilegrafana/alloy:v1.5.1, COPYalloy.riverconfigfly/alloy.riverfly/start.shargocd/manifests/grafana-config/dashboards/configmap-docs-apm.yamlargocd/manifests/grafana-config/dashboards/configmap-flyio.yamlargocd/manifests/grafana-config/kustomization.yamldocs/reference/services/flyio-proxy.mdDeployment and Testing
mise run fly-deploy— rebuild container with Alloycurl https://docs.eblu.me/— generate trafficfly logs -a blumeops-proxy— verify Alloy startupflyio_nginx_http_requests_total{instance="flyio-proxy"}{instance="flyio-proxy", job="flyio-nginx"}argocd app sync grafana-config— deploy dashboardsmise run services-check— no regressions@ -0,0 +111,4 @@url = "https://loki.tail8d86e.ts.net/loki/api/v1/push"tls_config {insecure_skip_verify = trueIs this needed? Can we orchestrate this through caddy instead and keep tls? The threat model here I suppose is accidentally shipping our access logs to a mitm attacker... arguably not very large. If this is a huge lift (eg if loki is not yet proxied via caddy) then just tell me and I will make it a follow-on project
@ -0,0 +141,4 @@url = "https://prometheus.tail8d86e.ts.net/api/v1/write"tls_config {insecure_skip_verify = trueditto here as above
@ -10,1 +10,4 @@# JSON access log for Alloy to tail → Loki + metric extractionlog_format json_log escape=json'{'this quoting is uuuuugly, can it be avoided? no big deal if it can't, I just hate the nested quoted json, although if the alternative is backslash-city then this is fine