[INPUT]
Name udp
Tag lunar_telemetry
Listen 0.0.0.0
Port ${LUNAR_TELEMETRY_SERVER_PORT}
[INPUT]
Name udp
Tag lunar_critical_messages
Listen 0.0.0.0
Port ${LUNAR_CRITICAL_MESSAGES_SERVER_PORT}
# System Stats
[INPUT]
Name exec
Tag system_disk
Command bash -c "df -H --output=size,used / | tail -n 1"
Interval_Sec ${METRICS_INTERVAL_SEC}
[INPUT]
Name mem
Tag system_memory
Interval_Sec ${METRICS_INTERVAL_SEC}
[INPUT]
Name cpu
Tag system_cpu
Interval_Sec ${METRICS_INTERVAL_SEC}
# Engine Stats
[INPUT]
Name proc
Proc_Name lunar_engine
Tag engine_memory
Interval_Sec ${METRICS_INTERVAL_SEC}
Mem true
[INPUT]
Name exec
Tag engine_cpu
Command bash -c "ps -C lunar_engine -o %cpu,etime --sort=-%cpu --no-headers | head -n 1"
Interval_Sec ${METRICS_INTERVAL_SEC}
Parser none
# Fluent-bit Stats
[INPUT]
Name proc
Proc_Name fluent-bit
Tag fluent_memory
Interval_Sec ${METRICS_INTERVAL_SEC}
Mem true
[INPUT]
Name exec
Tag fluent_cpu
Command bash -c "ps -C fluent-bit -o %cpu,etime --sort=-%cpu --no-headers | head -n 1"
Interval_Sec ${METRICS_INTERVAL_SEC}
Parser none
# HAProxy Stats
[INPUT]
Name proc
Proc_Name haproxy
Tag haproxy_memory
Interval_Sec ${METRICS_INTERVAL_SEC}
Mem true
[INPUT]
Name exec
Tag haproxy_cpu
Command bash -c "ps -C haproxy -o %cpu,etime --sort=-%cpu --no-headers | head -n 1"
Interval_Sec ${METRICS_INTERVAL_SEC}
Parser none
# Squid Stats
[INPUT]
Name proc
Proc_Name squid
Tag squid_memory
Interval_Sec ${METRICS_INTERVAL_SEC}
Mem true
[INPUT]
Name exec
Tag squid_cpu
Command bash -c "ps -C squid -o %cpu,etime --sort=-%cpu --no-headers | head -n 1"
Interval_Sec ${METRICS_INTERVAL_SEC}
Parser none
[FILTER]
Name lua
Match_regex .*(_memory|_cpu|_disk)$
Script /etc/fluent-bit/scripts/dispatcher.lua
Call buffer_and_dispatch
[OUTPUT]
Name loki
Match_regex .*(_memory|_cpu|_disk)$
Host ${LOKI_HOST}
Port ${LOKI_PORT}
http_user ${LOKI_USER}
http_passwd ${LOKI_PASSWORD}
tls true
Labels job=gateway_consumption,service=gateway,instance_id=${GATEWAY_INSTANCE_ID},tenant_name=${TENANT_NAME},version=${LUNAR_VERSION},lunar_key=${LUNAR_API_KEY}
[OUTPUT]
Name loki
Match_regex .*(lunar_telemetry)$
Host ${LOKI_HOST}
Port ${LOKI_PORT}
http_user ${LOKI_USER}
http_passwd ${LOKI_PASSWORD}
tls true
Labels job=telemetry,service=gateway,instance_id=${GATEWAY_INSTANCE_ID},tenant_name=${TENANT_NAME},version=${LUNAR_VERSION},lunar_key=${LUNAR_API_KEY}
[OUTPUT]
Name loki
Match_regex .*(lunar_critical_messages)$
Host ${LOKI_HOST}
Port ${LOKI_PORT}
http_user ${LOKI_USER}
http_passwd ${LOKI_PASSWORD}
tls true
Labels job=critical_messages,service=gateway,instance_id=${GATEWAY_INSTANCE_ID},tenant_name=${TENANT_NAME},version=${LUNAR_VERSION},lunar_key=${LUNAR_API_KEY}
[OUTPUT]
Name datadog
Match_regex .*(lunar_telemetry|_memory|_cpu|_disk)$
Host ${DD_HOST}
TLS on
compress gzip
apikey ${DD_API_KEY}
dd_service lunar-proxy
dd_tags tenant_name:${TENANT_NAME},env:${ENV},sandbox_scenario:${SANDBOX_SCENARIO},lunar_version:${LUNAR_VERSION},lunar_api_key:${LUNAR_API_KEY},gateway_instance_id:${GATEWAY_INSTANCE_ID}