Created
September 11, 2023 13:11
-
-
Save etrikp/a8f7aba1a82c742a38e529a854e65e63 to your computer and use it in GitHub Desktop.
Loki distributed haproxy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
global | |
log stdout format raw local0 | |
maxconn 4096 | |
nbproc 5 | |
pidfile /tmp/haproxy.pid | |
resolvers kube-dns | |
nameserver default kube-dns.kube-system.svc.cluster.local:53 | |
resolve_retries 3 | |
timeout retry 1s | |
hold valid 10s | |
defaults | |
log global | |
mode http | |
option httplog | |
log-format {\"timestamp\":\"%T\", \"client_ip\":\"%ci\", \"client_port\":\"%cp\", \"frontend_name\":\"%f\", \"backend_name\":\"%b\", \"server_name\":\"%s\", \"status_code\":\"%ST\", \"bytes_read\":\"%B\", \"request\":\"%r\", \"user_agent\":\"%[capture.req.hdr(1)]\", \"ssl_version\":\"%sslv\", \"ssl_cipher\":\"%sslc\", \"termination_state\":\"%ts\", \"total_time_queue\":\"%Tq\", \"total_time_server\":\"%Tr\", \"total_time\":\"%Tt\", \"protocol\":\"%H\"} | |
timeout connect 5000ms | |
timeout client 50000ms | |
timeout server 50000ms | |
frontend http_front | |
bind *:8080 | |
# Root location | |
acl url_root path -i / | |
use_backend root_backend if url_root | |
# Prometheus and Loki routing ACLs | |
acl url_api_prom_push path -i /api/prom/push | |
acl url_api_prom_tail path -i /api/prom/tail | |
acl url_loki_api_v1_push path -i /loki/api/v1/push | |
acl url_loki_api_v1_tail path -i /loki/api/v1/tail | |
acl url_ruler path_beg -i /prometheus/api/v1/alerts /prometheus/api/v1/rules /api/prom/rules /api/prom/alerts | |
acl url_api_prom path_beg -i /api/prom/ | |
acl url_loki_api path_beg -i /loki/api/ | |
use_backend api_prom_push_backend if url_api_prom_push | |
use_backend api_prom_tail_backend if url_api_prom_tail | |
use_backend loki_api_v1_push_backend if url_loki_api_v1_push | |
use_backend loki_api_v1_tail_backend if url_loki_api_v1_tail | |
use_backend ruler_backend if url_ruler | |
use_backend api_prom_backend if url_api_prom | |
use_backend loki_api_backend if url_loki_api | |
backend root_backend | |
http-response set-status 200 'OK' | |
backend api_prom_push_backend | |
server loki_distributor lokidee-loki-distributed-distributor.default.svc.cluster.local:3100 resolvers kube-dns | |
backend api_prom_tail_backend | |
server loki_querier lokidee-loki-distributed-querier.default.svc.cluster.local:3100 resolvers kube-dns | |
http-request set-header Upgrade %[req.hdr(Upgrade)] | |
http-request set-header Connection upgrade | |
backend loki_api_v1_push_backend | |
server loki_distributor lokidee-loki-distributed-distributor.default.svc.cluster.local:3100 resolvers kube-dns | |
backend loki_api_v1_tail_backend | |
server loki_querier lokidee-loki-distributed-querier.default.svc.cluster.local:3100 resolvers kube-dns | |
http-request set-header Upgrade %[req.hdr(Upgrade)] | |
http-request set-header Connection upgrade | |
backend ruler_backend | |
server loki_ruler lokidee-loki-distributed-ruler.default.svc.cluster.local:3100 resolvers kube-dns | |
backend api_prom_backend | |
server loki_frontend lokidee-loki-distributed-query-frontend-headless.default.svc.cluster.local:3100 resolvers kube-dns | |
backend loki_api_backend | |
server loki_frontend lokidee-loki-distributed-query-frontend-headless.default.svc.cluster.local:3100 resolvers kube-dns |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment