Wie füge ich ein formatted_message-Feld zum Speicherprotokoll in Elasticsearch hinzu?
Posted: 17 Jan 2025, 08:18
Ich habe eine Anwendung in Java, Spring Boot und Logback. In der Logback-Datei ist, wie wir unten sehen können, ein Teil von OpenTelemetry konfiguriert. Ich erhalte meine Protokolle im OpenTelemetry-Kollektor und exportiere sie dann nach Elasticsearch.
Ich würde mir wünschen, dass ich bei der Anzeige in Kibana ein Feld auswählen könnte, zum Beispiel mit dem Namen formatted_log, das das bereits formatierte Protokoll enthalten würde, wie es in der Konsole angezeigt wird. Das weiß ich, wenn wir Verwenden Sie Filebeat und Logstash verfügt über ein Nachrichtenfeld, das das Protokoll so anzeigt, wie es in der Konsole angezeigt wird. Ist dies mit dem OpenTelemetry-Kollektor möglich?
Datei logback.xml
Datei otel-collector.yaml
Datei application.yml
Beispiel für das Feld formatted_log:
Ich würde mir wünschen, dass ich bei der Anzeige in Kibana ein Feld auswählen könnte, zum Beispiel mit dem Namen formatted_log, das das bereits formatierte Protokoll enthalten würde, wie es in der Konsole angezeigt wird. Das weiß ich, wenn wir Verwenden Sie Filebeat und Logstash verfügt über ein Nachrichtenfeld, das das Protokoll so anzeigt, wie es in der Konsole angezeigt wird. Ist dies mit dem OpenTelemetry-Kollektor möglich?
Datei logback.xml
Code: Select all
true
true
true
true
true
*
%d{HH:mm:ss.SSSZZ} [%thread] [%X{traceId}] [%X{spanId}] %-5level %logger{36} - %msg%n
Code: Select all
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
debug:
verbosity: detailed
elasticsearch:
endpoint: http://elasticsearch:9200
tls:
insecure_skip_verify: true
logs_index: "observability-logs"
# user: "elastic"
# password: "elastic"
processors:
transform:
log_statements:
- context: log
statements:
- delete_key(attributes, "code.function")
- delete_key(attributes, "code.lineno")
resource:
attributes:
- key: "process.pid"
action: delete
- key: "process.executable.path"
action: delete
- key: "process.command_line"
action: delete
- key: "process.runtime.name"
action: delete
- key: "telemetry.sdk.language"
action: delete
- key: "telemetry.sdk.name"
action: delete
- key: "telemetry.sdk.version"
action: delete
extensions:
health_check: {}
service:
extensions: [health_check]
pipelines:
logs:
receivers: [otlp]
processors: [transform, resource]
exporters: [debug,elasticsearch]
Code: Select all
otel:
propagation:
enabled: true
propagators:
- b3
logs:
exporter: otlp
resource:
attributes:
service:
name: template
Code: Select all
12:50:48.414-0300 [XNIO-1 task-2] [91d3e27785c6dff592ac89b48d9b918a] [d533f7fc7db1d30d] DEBUG c.k.t.infrastructure.Controller - transfer-encoding: [chunked]