Skip to content

influxdbexporer creates metric exports that are not accepted by influx #29896

@otbe

Description

@otbe

Component(s)

exporter/influxdb

What happened?

Description

After #27084 was fixed I run into the next issue with a v1 influxdb exporter. Every metric which is exported via the javaagent micrometer instrumentation fails to be exported via the collector influxdb exporter with a similar message:

unable to parse 'http.server.duration,aws.ecs.container.arn=arn:aws:ecs:eu-central-1:foo:container/bar/baz/boo,aws.ecs.container.image.id=sha256:foo,aws.ecs.launchtype=fargate,aws.ecs.task.arn=arn:aws:ecs:eu-central-1:foo:task/foo/bar,aws.ecs.task.family=bar,aws.ecs.task.revision=1,cloud.platform=aws_ecs,cloud.provider=aws,container.id=baz-bar,container.image.name=my-rep,container.image.tag=my-tgag,container.name=app,host.arch=amd64,host.name=host,http.method=GET,http.route=/actuator/health,http.scheme=http,http.status_code=200,http.target=/actuator/health,net.host.name=localhost,net.host.port=8080,net.protocol.name=http,net.protocol.version=1.1,net.sock.host.addr=127.0.0.1,net.sock.peer.addr=127.0.0.1,net.sock.peer.port=44578,os.description=Linux\\\\\\\\ 5.10.201-191.748.amzn2.x86_64,os.type=linux,otel.library.name=io.opentelemetry.tomcat-10.0,otel.library.version=1.31.0-alpha,process.command_args=[\\\\\\\"/usr/lib/jvm/java-17-amazon-corretto/bin/java\\\\\\\"\\\\\\\\,\\\\\\\"-Dotel.instrumentation.logback-appender.experimental-log-attributes\\\\\\\\=true\\\\\\\"\\\\\\\\,\\\\\\\"-Dotel.instrumentation.logback-appender.experimental.capture-mdc-attributes\\\\\\\\=*\\\\\\\"\\\\\\\\,\\\\\\\"-Dotel.instrumentation.logback-appender.experimental.capture-logger-context-attributes\\\\\\\\=true\\\\\\\"\\\\\\\\,\\\\\\\"-Dotel.instrumentation.logback-appender.experimental.capture-logger-context-attributes\\\\\\\\=true\\\\\\\"\\\\\\\\,\\\\\\\"-javaagent:/home/service/aws-opentelemetry-agent.jar\\\\\\\"\\\\\\\\,\\\\\\\"-XX:MaxRAMPercentage\\\\\\\\=80.0\\\\\\\"\\\\\\\\,\\\\\\\"-jar\\\\\\\"\\\\\\\\,\\\\\\\"-Djava.security.egd\\\\\\\\=file:/dev/./urandom\\\\\\\"\\\\\\\\,\\\\\\\"/home/service/my-service.jar\\\\\\\"],process.executable.path=/usr/lib/jvm/java-17-amazon-corretto/bin/java,process.pid=42,process.runtime.description=Amazon.com\\\\\\\\ Inc.\\\\\\\\ OpenJDK\\\\\\\\ 64-Bit\\\\\\\\ Server\\\\\\\\ VM\\\\\\\\ 17.0.9+8-LTS,process.runtime.name=OpenJDK\\\\\\\\ Runtime\\\\\\\\ Environment,process.runtime.version=17.0.9+8-LTS,service.name=my-service,telemetry.auto.version=1.31.1-aws,telemetry.sdk.language=java,telemetry.sdk.name=opentelemetry,telemetry.sdk.version=1.31.0,user_agent.original=curl/7.64.0 7500=1,flags=0u,max=2.833621,0=0,250=1,500=1,5=1,750=1,min=2.833621,50=1,5000=1,25=1,10=1,start_time_unix_nano=1702566995156664494i,100=1,+Inf=1,sum=2.833621,1000=1,count=1,75=1,2500=1,10000=1 1702589255161648942': invalid number

Steps to Reproduce

Similar to #27084 but with a SB3.2 app producing the metrics via otel javaagent.

Expected Result

In general I would love if it just works. When I put the line from above into a line protocol parser it fails, it might be related to the escaping. However somehow Im not able to properly filter for tags to be added. More tags increase the cardinality in influx which is in general a bad thing. I cant really filter for each tag by name just to get more tags over time at the end. So is there a way to not send any tags apart from some that are explicitly whitelisted? I was expecting something similar to span_dimensions and log_record_dimensions to make it.

Collector version

0.91.0

Environment information

Environment

OS: otel/opentelemetry-collector-contrib:0.91.0

OpenTelemetry Collector configuration

No response

Log output

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions