mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-11-03 02:20:04 +00:00
Finish the signoz -> o11y debrand that the debrand branch left partial:
- repoint SigNoz/signoz-otel-collector/{utils,constants,keycheck,metadataexporter,
processor/*} imports to the local hanzoai/otel-collector/* copies (already folded)
- rename package signozllmpricingprocessor -> o11yllmpricingprocessor (dir+pkg+typeStr)
- rename component type IDs: signozclickhouse{metrics,meter} -> o11yclickhouse*,
signozlogspipeline -> o11ylogspipeline, signozllmpricing -> o11yllmpricing
- rename files: schema-signoz.go -> schema.go, signoz_attributes.go -> o11y_attributes.go
- vendor SigNoz/grok's mutex-patched fork in-tree as pkg/grok (Apache-2.0, self-contained)
and drop the segmentio/ksuid->signoz/ksuid + vjeantet/grok->signoz/grok replaces
- restore constants.DistributedFieldKeysTable dropped in the earlier fold
- go.mod/go.sum: SigNoz/signoz-otel-collector require gone; 0 signoz in code
Full ./... build passes. LICENSE keeps upstream Apache attribution (legal).
Residual: ClickHouse dd-sketch driver forks (ch-go, clickhouse-go/v2) — next.
This exporter has been taken from opentelemetry-collector-contrib [https://github.com/open-telemetry/opentelemetry-collector-contrib]
The exporter was imported at v0.79.0 [https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.79.0]
Hanzo O11y Kafka Exporter
| Status | |
|---|---|
| Stability | beta: traces, metrics, logs |
| Distributions | [] |
| Issues | |
| Code coverage |
Kafka exporter exports logs, metrics, and traces to Kafka. This exporter uses a synchronous producer that blocks and does not batch messages, therefore it should be used with batch and queued retry processors for higher throughput and resiliency. Message payload encoding is configurable.
The following settings are required:
protocol_version(no default): Kafka protocol version e.g. 2.0.0
The following settings can be optionally configured:
brokers(default = localhost:9092): The list of kafka brokerstopic(default = otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs): The name of the kafka topic to export to.encoding(default = otlp_proto): The encoding of the traces sent to kafka. All available encodings:otlp_proto: payload is Protobuf serialized fromExportTraceServiceRequestif set as a traces exporter orExportMetricsServiceRequestfor metrics orExportLogsServiceRequestfor logs.otlp_json: ** EXPERIMENTAL ** payload is JSON serialized fromExportTraceServiceRequestif set as a traces exporter orExportMetricsServiceRequestfor metrics orExportLogsServiceRequestfor logs.- The following encodings are valid only for traces.
jaeger_proto: the payload is serialized to a single Jaeger protoSpan, and keyed by TraceID.jaeger_json: the payload is serialized to a single Jaeger JSON Span usingjsonpb, and keyed by TraceID.\
- The following encodings are valid only for logs.
raw: if the log record body is a byte array, it is sent as is. Otherwise, it is serialized to JSON. Resource and record attributes are discarded.
authplain_textusername: The username to use.password: The password to use
saslusername: The username to use.password: The password to usemechanism: The sasl mechanism to use (SCRAM-SHA-256, SCRAM-SHA-512, AWS_MSK_IAM or PLAIN)aws_msk.region: AWS Region in case of AWS_MSK_IAM mechanismaws_msk.broker_addr: MSK Broker address in case of AWS_MSK_IAM mechanism
tlsca_file: path to the CA cert. For a client this verifies the server certificate. Should only be used ifinsecureis set to true.cert_file: path to the TLS cert to use for TLS required connections. Should only be used ifinsecureis set to true.key_file: path to the TLS key to use for TLS required connections. Should only be used ifinsecureis set to true.insecure(default = false): Disable verifying the server's certificate chain and host name (InsecureSkipVerifyin the tls config)server_name_override: ServerName indicates the name of the server requested by the client in order to support virtual hosting.
kerberosservice_name: Kerberos service namerealm: Kerberos realmuse_keytab: Use of keytab instead of password, if this is true, keytab file will be used instead of passwordusername: The Kerberos username used for authenticate with KDCpassword: The Kerberos password used for authenticate with KDCconfig_file: Path to Kerberos configuration. i.e /etc/krb5.confkeytab_file: Path to keytab file. i.e /etc/security/kafka.keytab
metadatafull(default = true): Whether to maintain a full set of metadata. When disabled the client does not make the initial request to broker at the startup.retrymax(default = 3): The number of retries to get metadatabackoff(default = 250ms): How long to wait between metadata retries
timeout(default = 5s): Is the timeout for every attempt to send data to the backend.retry_on_failureenabled(default = true)initial_interval(default = 5s): Time to wait after the first failure before retrying; ignored ifenabledisfalsemax_interval(default = 30s): Is the upper bound on backoff; ignored ifenabledisfalsemax_elapsed_time(default = 120s): Is the maximum amount of time spent trying to send a batch; ignored ifenabledisfalse
sending_queueenabled(default = true)num_consumers(default = 10): Number of consumers that dequeue batches; ignored ifenabledisfalsequeue_size(default = 1000): Maximum number of batches kept in memory before dropping data; ignored ifenabledisfalse; User should calculate this asnum_seconds * requests_per_secondwhere:num_secondsis the number of seconds to buffer in case of a backend outagerequests_per_secondis the average number of requests per seconds.
producermax_message_bytes(default = 1000000) the maximum permitted size of a message in bytesrequired_acks(default = 1) controls when a message is regarded as transmitted. https://pkg.go.dev/github.com/Shopify/[email protected]#RequiredAckscompression(default = 'none') the compression used when producing messages to kafka. The options are:none,gzip,snappy,lz4, andzstdhttps://pkg.go.dev/github.com/Shopify/[email protected]#CompressionCodecflush_max_messages(default = 0) The maximum number of messages the producer will send in a single broker request.
Example configuration:
exporters:
kafka:
brokers:
- localhost:9092
protocol_version: 2.0.0