### Start Couchbase, collector, and Prometheus Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/examples/couchbase/README.md Command to start the Couchbase server, OpenTelemetry Collector, and Prometheus server using Docker Compose. ```sh docker-compose up -d --remove-orphans --build --force-recreate ``` -------------------------------- ### Install Go and GCC Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/cgroupruntimeextension/CONTRIBUTING.md Example command to install a specific Go version (1.23.4) and the GCC compiler within the Docker container, required for running integration tests. ```bash apt update && apt install -y wget sudo gcc && wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz && export PATH=$PATH:/usr/local/go/bin && go version && rm go1.23.4.linux-amd64.tar.gz ``` -------------------------------- ### Deploy the example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/simpleprometheusreceiver/examples/federation/README.md Command to deploy the Docker Compose example. ```bash $> docker-compose up --build ``` -------------------------------- ### Example Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/lookupprocessor/internal/source/noop/README.md Example configuration for the lookup processor using the noop source. ```yaml processors: lookup: source: type: noop lookups: - key: log.attributes["lookup.key"] attributes: - destination: result default: "not-found" ``` -------------------------------- ### Custom Metric Start Time Processor Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/metricstarttimeprocessor/README.md This configuration demonstrates custom settings for the metric start time processor, including a specific strategy, garbage collection interval, and a regex for identifying the start time metric. ```yaml processors: metric_start_time: strategy: start_time_metric gc_interval: 1h start_time_metric_regex: "^.+_start_time$" ``` -------------------------------- ### Faro Exporter Getting Started Example with TLS Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/faroexporter/README.md Example configurations for the Faro exporter, showing a basic endpoint setup and an endpoint with TLS insecure skip verify. ```yaml exporters: faro: endpoint: "https://faro.example.com/collect" faro/tlsnoverify: endpoint: "https://faro.example.com/collect" tls: insecure_skip_verify: true ``` -------------------------------- ### Clone and Run OpAMP Example Server Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/README.md Clone the opamp-go repository and run the example OpAMP server. This is a prerequisite for testing the Supervisor. ```shell git clone git@github.com:open-telemetry/opamp-go.git cd opamp-go/internal/examples/server go run . ``` -------------------------------- ### Example Opamp Supervisor Configuration with Custom Files, Args, and Env Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/specification/README.md Shows a complete Opamp Supervisor configuration including custom configuration files, command-line arguments, and environment variables. ```yaml agent: executable: ./otel-binary config_files: - './custom-config.yaml' - './another-custom-config.yaml' args: - '--feature-gates' - 'service.AllowNoPipelines' env: HOME: '/dev/home' GO_HOME: '~/go' ``` -------------------------------- ### Plain text log example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/stanza/docs/types/timestamp.md Example of plain text log lines with timestamps at the start. ```logs 2022-01-02 07:24:56,123 -0700 [INFO] App started 2022-01-02 07:24:57,456 -0700 [INFO] Something happened 2022-01-02 07:24:58,789 -0700 [WARN] Look alive! ``` -------------------------------- ### Compaction Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/storage/filestorage/README.md Illustrates various settings for file compaction, including directory, transaction size, and cleanup behavior. ```yaml file_storage: compaction: directory: "/var/lib/my-collector/compaction" max_transaction_size: 131072 cleanup_on_start: true ``` -------------------------------- ### Example ICMP Check Receiver Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/icmpcheckreceiver/README.md A complete example configuration for the ICMP Check Receiver, including target definitions and pipeline setup. ```yaml receivers: icmpcheck: collection_interval: 30s metrics: ping.rtt.min: enabled: false targets: - host: "https://opentelemtry.io" ping_count: 4 - host: "192.168.101.25" ping_interval: 2s ping_timeout: 3s processors: batch: send_batch_max_size: 1000 send_batch_size: 100 timeout: 10s exporters: debug: verbosity: detailed service: pipelines: metrics: receivers: [ icmpcheck ] processors: [ batch ] exporters: [ debug ] ``` -------------------------------- ### Rebound Compaction Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/storage/filestorage/README.md Shows how to configure parameters for online (rebound) compaction, including thresholds and check intervals. ```yaml file_storage: compaction: rebound_needed_threshold_mib: 200 rebound_trigger_threshold_mib: 50 check_interval: 10s ``` -------------------------------- ### Pprof Receiver Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/pprofreceiver/README.md An example OpenTelemetry Collector configuration demonstrating the setup for the Pprof receiver with remote, server, file, and self ingestion modes. ```yaml receivers: pprof: remote: endpoint: http://my-svc:9090/debug/pprof/profile?seconds=1 collection_interval: 30s initial_delay: 10s server: endpoint: 0.0.0.0:4040 tls: cert_file: server.crt key_file: server.key file: include: /tmp/pprof/* collection_interval: 10s initial_delay: 20s self: collection_interval: 15s initial_delay: 1s ``` -------------------------------- ### Running Prometheus with a Config File Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/prometheusreceiver/README.md Demonstrates how to start the Prometheus binary with a specified configuration file. ```shell prometheus --config.file=prom.yaml ``` -------------------------------- ### OpenTelemetry Arrow Exporter Configuration Examples Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/otelarrowexporter/README.md Configuration examples for the OpenTelemetry Arrow exporter, demonstrating both secure (with TLS certificate and key files) and insecure (with insecure TLS) setups. ```yaml exporters: otelarrow/secure: endpoint: external-collector:4317 tls: cert_file: file.cert key_file: file.key otelarrow/insecure: endpoint: internal-collector:4317 tls: insecure: true ``` -------------------------------- ### Initialize Couchbase Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/examples/couchbase/README.md Command to initialize Couchbase and create necessary buckets. ```sh ./scripts/setup.sh ``` -------------------------------- ### Example Supervisor Extensions Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/specification/README.md Demonstrates how to configure supervisor-specific extensions, including named instances with custom settings. ```yaml extensions: # Single instance, default settings. nop: # Named instance with custom settings. some_extension/primary: option_a: value ``` -------------------------------- ### macOS Unified Logging Receiver Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/macosunifiedloggingreceiver/README.md This example demonstrates a complete configuration for the macOS Unified Logging receiver, including archive path, predicate filtering, start time, and integration with a file exporter and service pipeline. ```yaml receivers: macos_unified_logging: archive_path: "./system_logs.logarchive" predicate: "subsystem BEGINSWITH 'com.apple'" start_time: "2024-01-01 00:00:00" exporters: file: path: "./output/logs.json" format: json service: pipelines: logs: receivers: [macosunifiedlogging] exporters: [file] ``` -------------------------------- ### NewConfigComponent Options Pattern Examples Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/datadog/agentcomponents/agentcomponents_options.md Demonstrates various ways to use NewConfigComponent with different options for metrics, traces, logs, minimal configurations, conditional options, and reusable option sets. ```go package agentcomponents import ( pkgconfigmodel "github.com/DataDog/datadog-agent/pkg/config/model" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config/configopaque" datadogconfig "github.com/open-telemetry/opentelemetry-collector-contrib/pkg/datadog/config" ) // Example 1: A metrics-only module that only needs API configuration func exampleMetricsOnlyModule(_ component.TelemetrySettings, apiKey configopaque.String) { config := NewConfigComponent( WithAPIConfig(&datadogconfig.Config{ API: datadogconfig.APIConfig{ Key: apiKey, Site: "datadoghq.com", }, }), WithCustomConfig("metrics.enabled", true, pkgconfigmodel.SourceFile), WithCustomConfig("metrics.batch_size", 100, pkgconfigmodel.SourceDefault), ) _ = config // Use the config component for metrics setup } // Example 2: A traces module with custom configuration func exampleTracesModule(set component.TelemetrySettings, cfg *datadogconfig.Config) { config := NewConfigComponent( WithAPIConfig(cfg), WithLogLevel(set), WithCustomConfig("traces.enabled", true, pkgconfigmodel.SourceFile), WithCustomConfig("traces.sample_rate", 0.1, pkgconfigmodel.SourceDefault), WithCustomConfig("traces.max_traces_per_second", 1000, pkgconfigmodel.SourceDefault), WithProxyFromEnv(), ) _ = config // Use the config component for traces setup } // Example 3: A full-featured logs module using all logs options func exampleLogsModule(set component.TelemetrySettings, cfg *datadogconfig.Config) { config := NewConfigComponent( WithAPIConfig(cfg), WithLogLevel(set), WithLogsConfig(cfg), WithLogsDefaults(), WithProxyFromEnv(), // Additional logs-specific configuration WithCustomConfig("logs.dev_mode", false, pkgconfigmodel.SourceDefault), WithCustomConfig("logs.extra_metadata", true, pkgconfigmodel.SourceFile), ) _ = config // Use the config component for logs setup } // Example 4: A minimal configuration for a custom connector/processor func exampleMinimalModule(_ component.TelemetrySettings, apiKey configopaque.String) { config := NewConfigComponent( WithAPIConfig(&datadogconfig.Config{ API: datadogconfig.APIConfig{ Key: apiKey, Site: "datadoghq.eu", // Different site }, }), // Only set what's needed for this module WithCustomConfig("connector.buffer_size", 500, pkgconfigmodel.SourceDefault), ) _ = config // Use the config component for connector setup } // Example 5: Advanced usage with conditional options func exampleConditionalModule(set component.TelemetrySettings, cfg *datadogconfig.Config, enableAdvanced bool) { options := []ConfigOption{ WithAPIConfig(cfg), WithLogLevel(set), } // Conditionally add more options based on configuration if enableAdvanced { options = append(options, WithLogsDefaults(), WithProxyFromEnv(), WithCustomConfig("advanced.feature_flag", true, pkgconfigmodel.SourceFile), ) } // Add development-specific options in dev environments if cfg.API.Site == "datadoghq.local" { options = append(options, WithCustomConfig("dev.debug_mode", true, pkgconfigmodel.SourceDefault), WithCustomConfig("dev.verbose_logging", true, pkgconfigmodel.SourceDefault), ) } config := NewConfigComponent(options...) _ = config // Use the config component } // Example 6: Creating reusable option sets for common patterns var ( // Common options for production environments ProductionOptions = []ConfigOption{ WithLogsDefaults(), WithProxyFromEnv(), } // Common options for development environments DevelopmentOptions = []ConfigOption{ WithCustomConfig("dev.debug_mode", true, pkgconfigmodel.SourceDefault), WithCustomConfig("dev.mock_endpoints", true, pkgconfigmodel.SourceDefault), } ) func exampleReusableOptions(set component.TelemetrySettings, cfg *datadogconfig.Config, isProd bool) { baseOptions := []ConfigOption{ WithAPIConfig(cfg), WithLogLevel(set), } var envOptions []ConfigOption if isProd { envOptions = ProductionOptions } else { envOptions = DevelopmentOptions } // Combine base options with environment-specific options allOptions := append(baseOptions, envOptions...) config := NewConfigComponent(allOptions...) _ = config // Use the config component } ``` -------------------------------- ### TestTraceProcessor Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/pdatatest/README.md Example demonstrating how to use ptracetest.CompareTraces to compare actual and expected traces, ignoring start and end timestamps. ```go func TestTraceProcessor(t *testing.T) { nextTrace := new(consumertest.TracesSink) tp, err := newTracesProcessor(NewFactory().CreateDefaultConfig(), nextTrace) traces := generateTraces() tp.ConsumeTraces(ctx, traces) actualTraces := nextTrace.AllTraces()[0] expectedTraces, err := readTraces(filepath.Join("testdata", "traces", "expected.json")) require.NoError(t, err) require.NoError(t, ptracetest.CompareTraces(expectedTraces, actualTraces, ptracetest.IgnoreStartTimestamp(), ptracetest.IgnoreEndTimestamp())) } ``` -------------------------------- ### TestMetricsScraper Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/pdatatest/README.md Example demonstrating how to use pmetrictest.CompareMetrics to compare actual and expected metrics, ignoring start and end timestamps. ```go func TestMetricsScraper(t *testing.T) { scraper := newScraper(componenttest.NewNopReceiverCreateSettings(), createDefaultConfig().(*Config)) require.NoError(t, scraper.start(context.Background(), componenttest.NewNopHost())) actualMetrics, err := require.NoError(t, scraper.scrape(context.Background())) require.NoError(t, err) expectedFile, err := readMetrics(filepath.Join("testdata", "expected.json")) require.NoError(err) require.NoError(t, pmetrictest.CompareMetrics(expectedMetrics, actualMetrics, pmetrictest.IgnoreStartTimestamp(), pmetrictest.IgnoreTimestamp())) } ``` -------------------------------- ### Example Opamp Supervisor Configuration File Order Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/specification/README.md Demonstrates the order of configuration files applied by the Opamp Supervisor, including special configuration file placeholders. ```yaml agent: config_files: - base_config.yaml - $OWN_TELEMETRY_CONFIG - $OPAMP_EXTENSION_CONFIG - $REMOTE_CONFIG - compliance_config.yaml ``` -------------------------------- ### Use Configuration for File Paths Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md Shows how to retrieve file paths from a configuration source instead of hard-coding them. Assumes a Configuration object with a Get method is available. ```Go filePath := Configuration.Get("data_file_path") ``` -------------------------------- ### HasPrefix Function Examples Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/ottl/ottlfuncs/README.md Demonstrates the HasPrefix function to check if a string starts with a specified prefix. The value can be a field path or a literal. ```Go HasPrefix(resource.attributes["service.name"], "ingest_") ``` ```Go HasPrefix("ingest_service", "ingest_") ``` -------------------------------- ### Example osquery Receiver Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/osqueryreceiver/README.md This is an example configuration for the osquery receiver, demonstrating how to set the collection interval, the extensions socket path, and define the queries to be executed. ```yaml osquery: collection_internal: 10s extensions_socket: /var/osquery/osquery.em queries: - "select * from certificates" - "select * from block_devices" ``` -------------------------------- ### SkyWalking Receiver Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/skywalkingreceiver/README.md Configuration for the SkyWalking receiver with gRPC and HTTP protocols, and pipeline setup for traces and metrics. ```yaml receivers: skywalking: protocols: grpc: endpoint: 0.0.0.0:11800 http: endpoint: 0.0.0.0:12800 service: pipelines: traces: receivers: [skywalking] metrics: receivers: [skywalking] ``` -------------------------------- ### Example Active Directory Inventory Receiver Configuration in Service Pipeline Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/activedirectoryinvreceiver/README.md An example of how to configure the Active Directory Inventory receiver within a full OpenTelemetry Collector configuration, including exporters and service pipelines. This setup routes collected logs to a debug exporter. ```yaml receivers: ## All my example logs active_directory_inv: base_dn: "CN=Users,DC=exampledomain,DC=com" attributes: [name, mail, department, manager, memberOf] poll_interval: 24h exporters: debug: verbosity: detailed service: telemetry: logs: level: "debug" pipelines: logs/syslog source: receivers: - active_directory_inv exporters: - debug ``` -------------------------------- ### Start the Supervisor Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/README.md Execute the Supervisor binary with the specified configuration file. This command starts the Supervisor process. ```shell ./opampsupervisor --config=supervisor.yaml ``` -------------------------------- ### Example configuration with is_first_entry Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/stanza/docs/operators/recombine.md Configuration for the recombine operator using `is_first_entry` to define the start of a new log entry and `max_unmatched_batch_size` set to 3. ```yaml - type: recombine combine_field: body is_first_entry: body == 'log1' max_unmatched_batch_size: 3 ``` -------------------------------- ### Basic setup Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/schemaprocessor/GUIDE.md Add the schema processor to your collector config with a target schema version, ensuring it is the first processor in each pipeline. ```yaml processors: schema: targets: - https://opentelemetry.io/schemas/1.26.0 service: pipelines: traces: receivers: [otlp] processors: [schema] exporters: [otlp] metrics: receivers: [otlp] processors: [schema] exporters: [otlp] logs: receivers: [otlp] processors: [schema] exporters: [otlp] ``` -------------------------------- ### Download and Install OpAMP Supervisor (Linux/macOS) Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/README.md Use curl to download the OpAMP Supervisor binary for Linux or macOS. Ensure to set the correct version, OS, and architecture. Make the downloaded file executable. ```sh curl --proto '=https' --tlsv1.2 -fL -o opampsupervisor \ "https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/cmd%2Fopampsupervisor%2Fv/opampsupervisor___" chmod +x opampsupervisor ``` -------------------------------- ### Elasticsearch Exporter Configuration for Profiles Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/elasticsearchexporter/README.md Example configuration for the Elasticsearch exporter when exporting profiles. Ensure Universal Profiling is installed in your Elasticsearch database and use an API key for authentication. ```yaml exporters: elasticsearch: endpoint: https://elastic.example.com:9200 mapping: mode: otel ``` -------------------------------- ### DNS Source Configuration Example Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/lookupprocessor/internal/source/dns/README.md This example demonstrates how to configure the DNS source within the lookup processor, including record type, caching parameters, and lookup definitions. ```yaml processors: lookup: source: type: dns record_type: PTR cache: enabled: true size: 10000 ttl: 5m negative_ttl: 1m lookups: - key: log.attributes["client.ip"] attributes: - destination: client.hostname default: "unknown" ``` -------------------------------- ### Schema Processor Configuration with Migration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/schemaprocessor/README.md Example configuration for the schema processor, demonstrating how to set target schemas and enable migration for attribute renames during an upgrade. ```yaml processors: schema: targets: - https://opentelemetry.io/schemas/1.14.0 migration: - target: https://opentelemetry.io/schemas/1.14.0 from: https://opentelemetry.io/schemas/1.13.0 ``` -------------------------------- ### Sumo Logic Installed Collector Archive (sumo_ic) Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/exporter/awss3exporter/README.md Example configuration for adding _sourceCategory, _sourceHost, and _sourceName attributes required by the sumo_ic marshaler. ```yaml resource/add_source_category: attributes: - action: insert key: _sourceCategory value: "value" - action: insert key: _sourceHost value: "value" - action: insert key: _sourceName value: "value" ``` -------------------------------- ### Download and Install OpAMP Supervisor (Windows) Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/opampsupervisor/README.md Use PowerShell's Invoke-WebRequest to download the OpAMP Supervisor executable for Windows. Unblock the downloaded file to ensure it can be run. ```powershell Invoke-WebRequest -Uri "https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/cmd%2Fopampsupervisor%2Fv/opampsupervisor__windows_amd64.exe" -OutFile "opampsupervisor.exe" Unblock-File -Path "opampsupervisor.exe" ``` -------------------------------- ### Parse the body only if it starts and ends with brackets Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/pkg/stanza/docs/operators/json_parser.md Configuration to conditionally parse the body as JSON only if it matches a regex pattern, including examples for both matching and non-matching inputs. ```yaml - type: json_parser if: 'body matches "^{.*}$"' ``` ```json { "body": "{\"key\": \"val\"}" } ``` ```json { "body": { "key": "val" } } ``` ```json { "body": "notjson" } ``` ```json { "body": "notjson" } ``` -------------------------------- ### SQL Server Receiver Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/sqlqueryreceiver/README.md Example configuration for the SQL Server receiver without using a datasource. This setup specifies connection details and defines both logs and metrics queries. ```yaml receivers: sqlquery: driver: sqlserver host: localhost/instance user: sql_server password: s3cr3t additional_params: sslmode: disable queries: - sql: "select * from my_logs where log_id > $$1" tracking_start_value: "10000" tracking_column: log_id logs: - body_column: log_body - sql: "select count(*) as count, genre from movie group by genre" metrics: - metric_name: movie.genres value_column: "count" ``` -------------------------------- ### Example HTTP Check Receiver Configuration Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/httpcheckreceiver/README.md This configuration demonstrates how to set up the http_check receiver, including enabling detailed timing metrics and defining multiple targets with different methods, endpoints, headers, and validations. ```yaml receivers: http_check: collection_interval: 30s # Optional: Enable timing breakdown metrics metrics: httpcheck.dns.lookup.duration: enabled: true httpcheck.client.connection.duration: enabled: true httpcheck.tls.handshake.duration: enabled: true httpcheck.client.request.duration: enabled: true httpcheck.response.duration: enabled: true httpcheck.tls.cert_remaining: enabled: true httpcheck.validation.passed: enabled: true httpcheck.validation.failed: enabled: true httpcheck.response.size: enabled: true targets: - method: "GET" endpoints: - "https://opentelemetry.io" - method: "GET" endpoints: - "http://localhost:8080/hello1" - "http://localhost:8080/hello2" headers: Authorization: "Bearer " - method: "GET" endpoint: "http://localhost:8080/hello" headers: Authorization: "Bearer " - method: "POST" endpoint: "https://api.example.com/users" body: '{"name": "Test User", "email": "test@example.com"}' - method: "GET" endpoint: "https://api.example.com/health" validations: - contains: "healthy" - json_path: "$.status" equals: "ok" - max_size: 1024 exporters: debug: verbosity: detailed service: pipelines: metrics: receivers: [http_check] exporters: [debug] ``` -------------------------------- ### NetFlow Receiver Configuration Examples Source: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/netflowreceiver/README.md Configure the NetFlow receiver to listen on different ports and protocols for NetFlow, sFlow, or raw data. Includes exporter and service pipeline setup. ```yaml receivers: netflow: scheme: netflow port: 2055 sockets: 16 workers: 32 netflow/sflow: scheme: sflow port: 6343 sockets: 16 workers: 32 netflow/raw: scheme: netflow port: 2055 sockets: 16 workers: 32 send_raw: true exporters: debug: verbosity: detailed service: pipelines: logs: receivers: [netflow, netflow/sflow] exporters: [debug] telemetry: logs: level: debug ```