Files
proxy-gost/otel/collector.yaml
2026-06-15 17:01:30 +08:00

68 lines
4.0 KiB
YAML

receivers:
webhookevent/gost:
endpoint: 0.0.0.0:4318
path: /gost/record
split_logs_at_newline: false
processors:
transform/gost:
error_mode: ignore
log_statements:
- context: log
statements:
- set(log.cache["gost"], ParseJSON(log.body))
- set(log.time, Time(log.cache["gost"]["time"], "%Y-%m-%dT%H:%M:%S.%sZ")) where log.cache["gost"]["time"] != nil
- set(log.severity_text, "INFO")
- set(log.severity_text, "ERROR") where log.cache["gost"]["err"] != nil and log.cache["gost"]["err"] != ""
- set(log.severity_text, "ERROR") where log.cache["gost"]["http"]["statusCode"] != nil and log.cache["gost"]["http"]["statusCode"] >= 500
- set(log.body, log.cache["gost"])
- set(log.attributes["gost.service"], log.cache["gost"]["service"]) where log.cache["gost"]["service"] != nil
- set(log.attributes["gost.network"], log.cache["gost"]["network"]) where log.cache["gost"]["network"] != nil
- set(log.attributes["gost.remote"], log.cache["gost"]["remote"]) where log.cache["gost"]["remote"] != nil
- set(log.attributes["gost.local"], log.cache["gost"]["local"]) where log.cache["gost"]["local"] != nil
- set(log.attributes["gost.client"], log.cache["gost"]["client"]) where log.cache["gost"]["client"] != nil
- set(log.attributes["gost.src"], log.cache["gost"]["src"]) where log.cache["gost"]["src"] != nil
- set(log.attributes["gost.dst"], log.cache["gost"]["dst"]) where log.cache["gost"]["dst"] != nil
- set(log.attributes["gost.host"], log.cache["gost"]["host"]) where log.cache["gost"]["host"] != nil
- set(log.attributes["gost.proto"], log.cache["gost"]["proto"]) where log.cache["gost"]["proto"] != nil
- set(log.attributes["gost.clientIP"], log.cache["gost"]["clientIP"]) where log.cache["gost"]["clientIP"] != nil
- set(log.attributes["gost.route"], log.cache["gost"]["route"]) where log.cache["gost"]["route"] != nil
- set(log.attributes["gost.inputBytes"], log.cache["gost"]["inputBytes"]) where log.cache["gost"]["inputBytes"] != nil
- set(log.attributes["gost.outputBytes"], log.cache["gost"]["outputBytes"]) where log.cache["gost"]["outputBytes"] != nil
- set(log.attributes["gost.sid"], log.cache["gost"]["sid"]) where log.cache["gost"]["sid"] != nil
- set(log.attributes["gost.duration"], log.cache["gost"]["duration"]) where log.cache["gost"]["duration"] != nil
- set(log.attributes["gost.http.host"], log.cache["gost"]["http"]["host"]) where log.cache["gost"]["http"]["host"] != nil
- set(log.attributes["gost.http.method"], log.cache["gost"]["http"]["method"]) where log.cache["gost"]["http"]["method"] != nil
- set(log.attributes["gost.http.proto"], log.cache["gost"]["http"]["proto"]) where log.cache["gost"]["http"]["proto"] != nil
- set(log.attributes["gost.http.scheme"], log.cache["gost"]["http"]["scheme"]) where log.cache["gost"]["http"]["scheme"] != nil
- set(log.attributes["gost.http.uri"], log.cache["gost"]["http"]["uri"]) where log.cache["gost"]["http"]["uri"] != nil
- set(log.attributes["gost.http.statusCode"], log.cache["gost"]["http"]["statusCode"]) where log.cache["gost"]["http"]["statusCode"] != nil
- set(log.attributes["gost.err"], log.cache["gost"]["err"]) where log.cache["gost"]["err"] != nil and log.cache["gost"]["err"] != ""
- set(log.attributes["error.message"], log.cache["gost"]["err"]) where log.cache["gost"]["err"] != nil and log.cache["gost"]["err"] != ""
resource/gost:
attributes:
- key: service.name
value: gost
action: upsert
batch:
exporters:
otlp_http/remote:
endpoint: ${env:GOST_LOG_ENDPOINT}
debug:
verbosity: detailed
service:
pipelines:
logs:
receivers:
- webhookevent/gost
processors:
- transform/gost
- resource/gost
- batch
exporters:
- otlp_http/remote