Skip to content

Latest commit

 

History

History
226 lines (185 loc) · 6.85 KB

File metadata and controls

226 lines (185 loc) · 6.85 KB

TelemetryFlow Agent Integrations

Version

This document provides an overview of all third-party integrations supported by the TelemetryFlow Agent.

Integration Architecture

flowchart TB
    subgraph "TelemetryFlow Agent"
        IM[Integration Manager]

        subgraph "Cloud Providers"
            GCP[GCP Exporter]
            AZURE[Azure Exporter]
            ALIBABA[Alibaba Exporter]
        end

        subgraph "Infrastructure"
            PROXMOX[Proxmox Exporter]
            VMWARE[VMware Exporter]
            NUTANIX[Nutanix Exporter]
            AZUREARC[Azure Arc Exporter]
        end

        subgraph "Network & IoT"
            CISCO[Cisco Exporter]
            SNMP[SNMP Exporter]
            MQTT[MQTT Exporter]
        end

        subgraph "Kernel/System"
            EBPF[eBPF Exporter]
        end

        subgraph "APM Platforms"
            DD[Datadog]
            NR[New Relic]
            DT[Dynatrace]
            INST[IBM Instana]
        end

        subgraph "Observability Backends"
            PROM[Prometheus]
            SPLUNK[Splunk]
            ES[Elasticsearch]
            INFLUX[InfluxDB]
            KAFKA[Kafka]
            LOKI[Loki]
            JAEGER[Jaeger]
            ME[ManageEngine]
        end
    end

    IM --> GCP & AZURE & ALIBABA
    IM --> PROXMOX & VMWARE & NUTANIX & AZUREARC
    IM --> CISCO & SNMP & MQTT
    IM --> EBPF
    IM --> DD & NR & DT & INST
    IM --> PROM & SPLUNK & ES & INFLUX & KAFKA & LOKI & JAEGER & ME
Loading

Integration Categories

Category Integrations Description
Cloud Providers GCP, Azure, Alibaba Major cloud platform integrations
Infrastructure Proxmox, VMware, Nutanix, Azure Arc Virtualization and hybrid cloud
Network & IoT Cisco, SNMP, MQTT Network devices and IoT messaging
Kernel/System eBPF Linux kernel-level observability
Observability Prometheus, Datadog, Dynatrace, Instana, ManageEngine, Splunk, etc. APM & monitoring backends
Prometheus Exporter Prometheus /metrics endpoint Prometheus-compatible scrape endpoint
Kubernetes Collector Kubernetes resource state Drop-in kube-state-metrics replacement
Node Exporter System metrics (CPU, Memory, Disk, Network, etc.) Drop-in node_exporter replacement

Data Flow

sequenceDiagram
    participant S as Data Source
    participant E as Exporter
    participant M as Manager
    participant B as Backend

    S->>E: Raw Data
    E->>E: Transform
    E->>E: Validate
    E->>M: Telemetry Data
    M->>M: Batch & Buffer
    M->>B: Export
    B-->>M: Ack/Error
    M-->>E: Result
Loading

Integration Interface

All integrations implement the Exporter interface:

type Exporter interface {
    Name() string
    Type() string
    IsEnabled() bool
    SupportedDataTypes() []DataType
    Init(ctx context.Context) error
    Validate() error
    Export(ctx context.Context, data *TelemetryData) (*ExportResult, error)
    ExportMetrics(ctx context.Context, metrics []Metric) (*ExportResult, error)
    ExportTraces(ctx context.Context, traces []Trace) (*ExportResult, error)
    ExportLogs(ctx context.Context, logs []LogEntry) (*ExportResult, error)
    Health(ctx context.Context) (*HealthStatus, error)
    Close(ctx context.Context) error
}

Supported Data Types

graph LR
    subgraph "Telemetry Data Types"
        M[Metrics]
        L[Logs]
        T[Traces]
    end

    subgraph "Exporters"
        E1[Full Support<br/>Metrics + Logs + Traces]
        E2[Metrics Only]
        E3[Logs Only]
    end

    M --> E1 & E2
    L --> E1 & E3
    T --> E1
Loading
Integration Metrics Logs Traces
GCP
Azure
Alibaba
Proxmox
VMware
Nutanix
Azure Arc
Cisco
SNMP
MQTT
eBPF
Dynatrace
IBM Instana
ManageEngine

Configuration

All integrations are configured in the integrations section of tfo-agent.yaml:

integrations:
  # Cloud Providers
  gcp:
    enabled: false
    project_id: "${GCP_PROJECT_ID}"

  azure:
    enabled: false
    subscription_id: "${AZURE_SUBSCRIPTION_ID}"

  # Infrastructure
  proxmox:
    enabled: false
    api_url: "https://proxmox:8006"

  vmware:
    enabled: false
    vcenter_url: "https://vcenter.example.com"

  # Network
  cisco:
    enabled: false
    api_type: dnac

  snmp:
    enabled: false
    version: v2c

  mqtt:
    enabled: false
    broker: "tcp://mqtt:1883"

  # System
  ebpf:
    enabled: false

Health Monitoring

Each integration reports health status:

stateDiagram-v2
    [*] --> Disabled
    [*] --> Initializing
    Initializing --> Healthy: Init Success
    Initializing --> Unhealthy: Init Failed
    Healthy --> Unhealthy: Connection Lost
    Unhealthy --> Healthy: Reconnected
    Healthy --> [*]: Close
    Unhealthy --> [*]: Close
Loading

Quick Links


Copyright (c) 2024-2026 DevOpsCorner Indonesia. All rights reserved.