You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I configure fluentbit with an opentelemetry input and an opensearch output, then fluent-bit's requests to opensearch fail with:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"}],"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"},"status":400}
To Reproduce
Using the following docker-compose:
---
services:
fluent-bit:
image: fluent/fluent-bit:latest-debugvolumes:
- ./fluent-bit.yaml:/fluent-bit/etc/fluent-bit.yamlports:
- 4318:4318depends_on:
- opensearch-node1
- opensearch-node2command: [ "/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.yaml" ]networks:
- opensearch-netopensearch-node1:
image: opensearchproject/opensearch:latestcontainer_name: opensearch-node1environment:
- logger.org.opensearch.discovery=TRACE
- plugins.security.ssl.http.enabled=false
- cluster.name=opensearch-cluster
- node.name=opensearch-node1
- discovery.seed_hosts=opensearch-node1,opensearch-node2
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
- bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=dGEtFi4oXWtGy_brZcLX # Sets the demo admin user password when using demo configuration, required for OpenSearch 2.12 and higherulimits:
memlock:
soft: -1hard: -1nofile:
soft: 65536# maximum number of open files for the OpenSearch user, set to at least 65536 on modern systemshard: 65536volumes:
- opensearch-data1:/usr/share/opensearch/dataports:
- 9200:9200
- 9600:9600# required for Performance Analyzernetworks:
- opensearch-netopensearch-node2:
image: opensearchproject/opensearch:latestcontainer_name: opensearch-node2environment:
- logger.org.opensearch.discovery=TRACE
- plugins.security.ssl.http.enabled=false
- cluster.name=opensearch-cluster
- node.name=opensearch-node2
- discovery.seed_hosts=opensearch-node1,opensearch-node2
- cluster.initial_cluster_manager_nodes=opensearch-node1,opensearch-node2
- bootstrap.memory_lock=true
- OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=dGEtFi4oXWtGy_brZcLXulimits:
memlock:
soft: -1hard: -1nofile:
soft: 65536hard: 65536volumes:
- opensearch-data2:/usr/share/opensearch/datanetworks:
- opensearch-netvolumes:
opensearch-data1:
opensearch-data2:
networks:
opensearch-net:
If I log to fluent-bit via OTLP, then I receive the following error from fluent-bit:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"}],"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"},"status":400}
If I examine the HTTP request, I see it is malformed. Whereas a normal opensearch request from fluentBit (e.g. from the cpu input) might look like:
Bug Report
Describe the bug
If I configure fluentbit with an opentelemetry input and an opensearch output, then fluent-bit's requests to opensearch fail with:
To Reproduce
Using the following docker-compose:
And the following fluent-bit config:
If I log to fluent-bit via OTLP, then I receive the following error from fluent-bit:
If I examine the HTTP request, I see it is malformed. Whereas a normal opensearch request from fluentBit (e.g. from the cpu input) might look like:
Ones made from the opentelemetry input only have the payload data (without the first "create" line) and are not newline-terminated:
I am using the Rust tracing-opentelemetry library to log via OTLP.
Your Environment
Additional context
The text was updated successfully, but these errors were encountered: