67 lines
4.7 KiB
Markdown
67 lines
4.7 KiB
Markdown
|
---
|
||
|
layout: default
|
||
|
title: otel_logs_source
|
||
|
parent: Sources
|
||
|
grand_parent: Pipelines
|
||
|
nav_order: 25
|
||
|
---
|
||
|
|
||
|
# otel_logs_source
|
||
|
|
||
|
|
||
|
The `otel_logs_source` source is an OpenTelemetry source that follows the [OpenTelemetry Protocol Specification](https://github.com/open-telemetry/oteps/blob/master/text/0035-opentelemetry-protocol.md) and receives logs from the OTel Collector in the form of `ExportLogsServiceRequest` records.
|
||
|
|
||
|
This source supports the `OTLP/gRPC` protocol.
|
||
|
{: .note}
|
||
|
|
||
|
## Configuration
|
||
|
|
||
|
You can configure the `otel_logs_source` source with the following options.
|
||
|
|
||
|
| Option | Type | Description |
|
||
|
| :--- | :--- | :--- |
|
||
|
| port | int | Represents the port that the `otel_logs_source` source is running on. Default value is `21892`. |
|
||
|
| path | string | Represents the path for sending unframed HTTP requests. You can use this option to support an unframed gRPC request with an HTTP idiomatic path to a configurable path. The path should start with `/`, and its length should be at least 1. The `/opentelemetry.proto.collector.logs.v1.LogsService/Export` endpoint is disabled for both gRPC and HTTP requests if the path is configured. The path can contain a `${pipelineName}` placeholder, which is replaced with the pipeline name. If the value is empty and `unframed_requests` is `true`, then the path that the source provides is `/opentelemetry.proto.collector.logs.v1.LogsService/Export`. |
|
||
|
| request_timeout | int | Represents the request timeout duration in milliseconds. Default value is `10000`. |
|
||
|
| health_check_service | Boolean | Enables the gRPC health check service under `grpc.health.v1/Health/Check`. Default value is `false`. |
|
||
|
| proto_reflection_service | Boolean | Enables a reflection service for Protobuf services (see [ProtoReflectionService](https://grpc.github.io/grpc-java/javadoc/io/grpc/protobuf/services/ProtoReflectionService.html) and [gRPC reflection](https://github.com/grpc/grpc-java/blob/master/documentation/server-reflection-tutorial.md)). Default value is `false`. |
|
||
|
| unframed_requests | Boolean | Enables requests that are not framed using the gRPC wire protocol. Default value is `false`. |
|
||
|
| thread_count | int | The number of threads to keep in the `ScheduledThreadPool`. Default value is `500`. |
|
||
|
| max_connection_count | int | The maximum number of open connections allowed. Default value is `500`. |
|
||
|
|
||
|
### SSL
|
||
|
|
||
|
You can configure SSL in the `otel_logs_source` source with the following options.
|
||
|
|
||
|
| Option | Type | Description |
|
||
|
| :--- | :--- | :--- |
|
||
|
| ssl | Boolean | Enables TLS/SSL. Default value is `true`. |
|
||
|
| sslKeyCertChainFile | string | Represents the SSL certificate chain file path or Amazon Simple Storage Service (Amazon S3) path. For example, see the Amazon S3 path `s3://<bucketName>/<path>`. Required if `ssl` is set to `true`. |
|
||
|
| sslKeyFile | string | Represents the SSL key file path or Amazon S3 path. For example, see the Amazon S3 path `s3://<bucketName>/<path>`. Required if `ssl` is set to `true`. |
|
||
|
| useAcmCertForSSL | Boolean | Enables TLS/SSL using a certificate and private key from AWS Certificate Manager (ACM). Default value is `false`. |
|
||
|
| acmCertificateArn | string | Represents the ACM certificate Amazon Resource Name (ARN). ACM certificates take precedence over Amazon S3 or local file system certificates. Required if `useAcmCertForSSL` is set to `true`. |
|
||
|
| awsRegion | string | Represents the AWS Region used by ACM or Amazon S3. Required if `useAcmCertForSSL` is set to `true` or `sslKeyCertChainFile` or `sslKeyFile` is the Amazon S3 path. |
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
To get started, create a `pipeline.yaml` file and add `otel_logs_source` as the source:
|
||
|
|
||
|
```
|
||
|
source:
|
||
|
- otel_logs_source:
|
||
|
```
|
||
|
|
||
|
## Metrics
|
||
|
|
||
|
You can use the following metrics with the `otel_logs_source` source.
|
||
|
|
||
|
| Option | Type | Description |
|
||
|
| :--- | :--- | :--- |
|
||
|
| `requestTimeouts` | Counter | Measures the total number of requests that time out. |
|
||
|
| `requestsReceived` | Counter | Measures the total number of requests received by the `otel_logs_source` source. |
|
||
|
| `badRequests` | Counter | Measures the total number of requests that could not be parsed. |
|
||
|
| `requestsTooLarge` | Counter | Measures the total number of requests that exceed the maximum allowed size. Indicates that the size of the data being written into the buffer is beyond the buffer's maximum capacity. |
|
||
|
| `internalServerError` | Counter | Measures the total number of requests that are erroneous due to errors other than `requestTimeouts` or `requestsTooLarge`. |
|
||
|
| `successRequests` | Counter | Measures the total number of requests successfully written to the buffer. |
|
||
|
| `payloadSize` | Distribution summary | Measures the distribution of all incoming payload sizes. |
|
||
|
| `requestProcessDuration` | Timer | Measures the duration of request processing. |
|