TCP Connector

Configure the TCP connector to receive logs, metrics, and telemetry data sent via TCP protocol streams from applications, systems, and network devices for AI-powered analysis.

Overview

The TCP connector receives logs, metrics, and telemetry data sent via TCP protocol streams from applications, systems, and network devices. TCP (Transmission Control Protocol) provides reliable, ordered, and error-checked delivery of data over IP networks, ensuring no messages are lost in transit. Content streams into Edge Delta Pipelines for analysis by AI teammates through the Edge Delta MCP connector.

The connector acts as a TCP server, accepting persistent connections from multiple clients and processing incoming data streams with configurable message delimiters. It supports TLS encryption for secure transmission, connection limits for resource management, and custom tagging for metadata enrichment.

When you add this streaming connector, it appears as a TCP source in your selected pipeline. AI teammates access this data by querying the Edge Delta backend with the Edge Delta MCP connector.

For comprehensive TCP source configuration details, see the TCP Source documentation.

Add the TCP Connector

To add the TCP connector, you configure Edge Delta to listen for incoming TCP connections on a specified port, then configure applications to send data to that endpoint.

Prerequisites

Before configuring the connector, ensure you have:

  • Edge Delta agent with network access to receive inbound connections
  • Firewall rules allowing inbound TCP traffic on chosen port
  • Applications or systems ready to send data via TCP
  • For ports below 1024, root/admin privileges (or use ports 1024+)

Configuration Steps

  1. Navigate to AI Team > Connectors in the Edge Delta application
  2. Find the TCP connector in Streaming Connectors
  3. Click the connector card
  4. Configure Port (8080 default or custom)
  5. Configure Listen address (default 0.0.0.0)
  6. Configure Read Timeout (how long to wait for data)
  7. Optionally configure Advanced Settings for TLS, max connections, custom tags
  8. Select a target environment
  9. Click Save

The connector deploys and begins listening for TCP connections.

TCP connector configuration showing port, listen address, and read timeout settings

Configuration Options

Connector Name

Name to identify this TCP connector instance.

Port

TCP port to listen on for incoming connections.

Format: Integer between 1 and 65535

Default: 8080

Examples:

  • 8080 - Common application port
  • 5140 - Custom log collection port
  • 9514 - Alternative high port (non-privileged)

Note: Ports below 1024 require root/admin privileges on Linux/Unix systems

Listen

IP address to bind to for listening.

Format: IPv4 address

Default: 0.0.0.0 (all interfaces)

Examples:

  • 0.0.0.0 - Listen on all network interfaces
  • 192.168.1.100 - Listen only on specific interface
  • 10.0.0.50 - Bind to particular IP address

Read Timeout

How long to wait for incoming data before timing out connection.

Format: Duration (seconds, minutes)

Default: 1m

Examples:

  • 30s - 30 seconds for responsive connections
  • 1m - 1 minute typical timeout
  • 5m - 5 minutes for slow or sparse streams

Purpose: Prevents idle connections from holding resources indefinitely

Advanced Settings

Max Connections

Maximum number of concurrent TCP connections.

Format: Integer

Purpose: Limits resource usage when many clients connect simultaneously

When to Use: Set based on expected number of concurrent senders and available resources

Examples:

  • 100 - Moderate number of clients
  • 500 - High-volume environments
  • 1000 - Large-scale deployments

TLS

TLS settings enable encrypted TCP connections for secure data transmission.

Configuration Options:

  • Ignore Certificate Check: Disables SSL/TLS certificate verification (use with caution)
  • CA File: Absolute file path to CA certificate for SSL/TLS
  • CA Path: Absolute path where CA certificate files are located
  • CRT File: Absolute path to SSL/TLS certificate file
  • Key File: Absolute path to private key file for SSL/TLS
  • Key Password: Optional password for private key file
  • Client Auth Type: Client authentication type (default: noclientcert)
  • Minimum Version: Minimum TLS version (default: TLSv1_2)
  • Maximum Version: Maximum TLS version

Client Auth Types:

  • noclientcert - No client certificate requested
  • requestclientcert - Client certificate requested but not required
  • requireanyclientcert - Client certificate required but not validated
  • verifyclientcertifgiven - Client certificate validated if provided
  • requireandverifyclientcert - Client certificate required and validated

TLS Versions: TLSv1_0, TLSv1_1, TLSv1_2, TLSv1_3

When to Use: Enable for sensitive data (logs with PII, credentials, financial data), transmission over untrusted networks

Custom Tags

User-defined metadata tags to add to ingested data.

Fields:

  • Name: Field name for custom tag
  • Value: Field value (supports Go templating)

Available Template Fields:

  • {{.Source}} - Data source identifier
  • {{.SourceType}} - Type of source
  • {{.Tag}} - Tag identifier
  • {{.ConfigID}} - Configuration ID
  • {{.Host}} - Host name
  • {{.DockerContainerName}}, {{.DockerImageName}} - Docker-specific
  • {{.K8sNamespace}}, {{.K8sPodName}}, {{.K8sContainerName}} - Kubernetes-specific
  • {{.ECSCluster}}, {{.ECSTaskFamily}} - ECS-specific
  • {{.FileGlobPath}} - File-specific

Examples:

  • Name: environment, Value: production
  • Name: app, Value: {{.K8sPodName}}
  • Name: region, Value: us-east-1

Metadata Level (Resource Attributes)

This option is used to define which detected resources and attributes to add to each data item as it is ingested by Edge Delta. You can select:

  • Required Only: This option includes the minimum required resources and attributes for Edge Delta to operate.
  • Default: This option includes the required resources and attributes plus those selected by Edge Delta
  • High: This option includes the required resources and attributes along with a larger selection of common optional fields.
  • Custom: With this option selected, you can choose which attributes and resources to include. The required fields are selected by default and can’t be unchecked.

Based on your selection in the GUI, the source_metadata YAML is populated as two dictionaries (resource_attributes and attributes) with Boolean values.

See Choose Data Item Metadata for more information on selecting metadata.

TCP-specific metadata included:

  • Host name - Edge Delta agent hostname
  • Host IP - Edge Delta agent IP address
  • Server port - Port connector is listening on
  • Service name - Service identifier
  • Source name - Connector instance name
  • Source type - TCP connector type

Metadata Level (Attributes)

Additional attribute-level metadata fields to include.

Default: ed.env.id

Rate Limit

Rate limit configuration to control volume of TCP data accepted.

Purpose: Protects Edge Delta from being overwhelmed by excessive connection rates or data volumes

Configuration:

  • Evaluation Policy: Policy to decide whether source will be rate limited

When to Use: Prevent high-volume clients from overwhelming the pipeline or enforce data volume quotas

How to Use the TCP Connector

The TCP connector integrates seamlessly with AI Team, enabling data ingestion from TCP-capable sources. AI teammates automatically leverage TCP-ingested data to analyze application logs, investigate errors, monitor custom metrics, and track real-time events from distributed systems.

Use Case: Application Log Streaming

Collect logs from applications using TCP logging libraries (log4j, logback, winston) for real-time error detection. Applications send logs via TCP ensuring guaranteed delivery. AI teammates analyze application errors, identify patterns, and provide troubleshooting insights without manual log searching.

Configuration:

  • Port: 5140
  • Listen: 0.0.0.0
  • Read Timeout: 1m

Application Configuration (Python):

import socket
import logging

# Configure logging to send to TCP
handler = logging.handlers.SocketHandler('edge-delta-host', 5140)
logger.addHandler(handler)
logger.error("Application error occurred")

Use Case: Custom Metrics Collection

Ingest custom metrics from monitoring agents via TCP for performance analysis. Monitoring agents send metrics as newline-delimited JSON over TCP. AI teammates track performance trends, identify anomalies, and correlate metrics with infrastructure events.

Configuration:

  • Port: 9514
  • Listen: 0.0.0.0
  • Read Timeout: 30s
  • Custom Tags: environment: production

Metrics Sender (Shell):

echo '{"metric":"cpu_usage","value":75.3,"timestamp":1696176000}' | nc edge-delta-host 9514

Use Case: Centralized Log Aggregation

Aggregate logs from multiple servers using rsyslog or fluentd forwarding via TCP. Servers forward logs to Edge Delta TCP endpoint for centralized analysis. AI teammates provide unified visibility across distributed infrastructure, detecting issues spanning multiple servers.

Configuration:

  • Port: 5140
  • Listen: 0.0.0.0
  • Read Timeout: 2m
  • TLS: Enabled

rsyslog Configuration:

*.* @@edge-delta-host:5140

Troubleshooting

Connection refused errors: Verify Edge Delta listening on port with netstat -tln | grep 8080. Check connector deployed to target environment. Test connectivity with telnet edge-delta-host 8080. Review firewall rules allow inbound TCP traffic on configured port. Ensure listen address set to 0.0.0.0 for remote connections.

Clients connect but no data appears: Verify clients sending data after establishing connection. Check message delimiter matches client output format (newline vs custom). Review Edge Delta logs for parsing errors. Test with simple echo "test" | nc edge-delta-host 8080. Ensure read timeout not too short for client send rate.

Connections timing out: Increase read timeout for clients sending sparse data. Verify clients sending data within timeout period. Check network latency between clients and Edge Delta. Monitor for connection resets due to network issues. Ensure clients maintaining persistent connections not repeatedly reconnecting.

TLS handshake failures: Verify TLS configuration includes certificate and private key files. Check certificate valid, not expired, includes correct hostname. Ensure clients configured for TLS connections. Verify TLS version compatibility between clients and server. Check client CA configured if using mutual TLS. Review SSL errors in both client and Edge Delta logs.

Max connections exceeded: Increase max connections limit based on number of concurrent clients. Monitor connection count and patterns. Check for connection leaks where clients don’t close properly. Deploy multiple Edge Delta agents and distribute client connections. Implement connection pooling on client side.

Messages split incorrectly: Verify message delimiter matches client output format. Newline delimiter works for line-oriented logs. Use custom delimiter for non-standard formats. Check clients not embedding delimiter characters within messages. Test with known good data to verify parsing.

High memory usage: Reduce max connections to limit concurrent clients. Check for very large messages causing memory spikes. Monitor message size distribution. Implement rate limiting to control data volume. Increase agent resources if consistently high load.

Next Steps

For additional help, visit AI Team Support.