Skip to content

Latest commit

 

History

History
61 lines (47 loc) · 4.79 KB

File metadata and controls

61 lines (47 loc) · 4.79 KB

OTel Metrics Source

This is a source which follows the OTLP Protocol and exports ExportMetricsServiceRequest records.

This source supports OTLP/grpc.

Usages

Example .yaml configuration:

source:
    - otel_metrics_source:

Configurations

  • port(Optional) => An int represents the port Otel metrics source is running on. Default is 21891.
  • path(Optional) => A String which represents the path for sending unframed HTTP requests. This can be used for supporting unframed gRPC with HTTP idiomatic path to a configurable path. It should start with / and length should be at least 1. /opentelemetry.proto.collector.metrics.v1.MetricsService/Export endpoint will be disabled for both gRPC and HTTP requests if path is configured. Path can contain ${pipelineName} placeholder which will be replaced with pipeline name.
  • request_timeout(Optional) => An int represents request timeout in millis. Default is 10_000.
  • health_check_service(Optional) => A boolean enables health check service. When true enables a gRPC health check service under grpc.health.v1.Health/Check. Default is false. In order to use the health check service, you must also enable proto_reflection_service.
  • proto_reflection_service(Optional) => A boolean enables a reflection service for Protobuf services (see ProtoReflectionService and gRPC reflection docs). Default is false.
  • unframed_requests(Optional) => A boolean to enable requests not framed using the gRPC wire protocol. When health_check_service is true and unframed_requests is true, enables HTTP health check service under /health.
  • thread_count(Optional) => the number of threads to keep in the ScheduledThreadPool. Default is 200.
  • max_connection_count(Optional) => the maximum allowed number of open connections. Default is 500.
  • max_connection_age(Optional) => An ISO-8601 duration string (for example PT30M) that sets the maximum age of a gRPC server connection before it is gracefully closed. Useful when horizontally scaling, because long-lived gRPC channels do not re-resolve DNS on their own. When unset (default), Armeria places no upper bound on connection age. Allowed range: 1s to 24h.
  • connection_drain_duration(Optional) => An ISO-8601 duration string (for example PT15S) that controls how long Armeria waits after max_connection_age expires before forcefully terminating outstanding RPCs. When unset (default), Armeria uses its built-in drain duration. Allowed range: 0ms to 1h.
  • compression (Optional) : The compression type applied on the client request payload. Defaults to none. Supported values are:
    • none: no compression
    • gzip: apply GZip de-compression on the incoming request.

Retry Information

Data Prepper replies with a RetryInfo specifying how long to wait for the next request in case backpressure builds up. The retry information is implemented as exponential backoff, with a max delay of retry_info.max_delay.

source:
  otel_trace_source:
    retry_info:
      min_delay: 1000ms # defaults to 100ms
      max_delay: 5s     # defaults to 2s

SSL

  • ssl(Optional) => A boolean enables TLS/SSL. Default is true.
  • sslKeyCertChainFile(Optional) => A String represents the SSL certificate chain file path or AWS S3 path. S3 path example s3://<bucketName>/<path>. Required if ssl is set to true.
  • sslKeyFile(Optional) => A String represents the SSL key file path or AWS S3 path. S3 path example s3://<bucketName>/<path>. Required if ssl is set to true.
  • useAcmCertForSSL(Optional) => A boolean enables TLS/SSL using certificate and private key from AWS Certificate Manager (ACM). Default is false.
  • acmCertificateArn(Optional) => A String represents the ACM certificate ARN. ACM certificate take preference over S3 or local file system certificate. Required if useAcmCertForSSL is set to true.
  • awsRegion(Optional) => A String represents the AWS region to use ACM or S3. Required if useAcmCertForSSL is set to true or sslKeyCertChainFile and sslKeyFile is AWS S3 path.

Metrics

Counter

  • requestTimeouts: measures total number of requests that time out.
  • requestsReceived: measures total number of requests received by otel metrics source.

Developer Guide

This plugin is compatible with Java 8. See