{"id":34745475,"url":"https://github.com/telemetryflow/telemetryflow-agent","last_synced_at":"2026-03-08T06:04:20.804Z","repository":{"id":337829655,"uuid":"1127646708","full_name":"telemetryflow/telemetryflow-agent","owner":"telemetryflow","description":"TelemetryFlow Agent (OTEL Agent)","archived":false,"fork":false,"pushed_at":"2026-03-05T02:14:22.000Z","size":826,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-05T07:45:02.272Z","etag":null,"topics":["devopscorner","opentelemetry","opentelemetry-agent","opentelemetry-go","otel","otel-agent","telemetryflow"],"latest_commit_sha":null,"homepage":"https://telemetryflow.id","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/telemetryflow.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-04T10:15:18.000Z","updated_at":"2026-03-05T02:14:13.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/telemetryflow/telemetryflow-agent","commit_stats":null,"previous_names":["telemetryflow/telemetryflow-agent"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/telemetryflow/telemetryflow-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telemetryflow%2Ftelemetryflow-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telemetryflow%2Ftelemetryflow-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telemetryflow%2Ftelemetryflow-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telemetryflow%2Ftelemetryflow-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/telemetryflow","download_url":"https://codeload.github.com/telemetryflow/telemetryflow-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/telemetryflow%2Ftelemetryflow-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30246879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devopscorner","opentelemetry","opentelemetry-agent","opentelemetry-go","otel","otel-agent","telemetryflow"],"created_at":"2025-12-25T04:31:08.374Z","updated_at":"2026-03-08T06:04:20.783Z","avatar_url":"https://github.com/telemetryflow.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/telemetryflow/.github/raw/main/docs/assets/tfo-logo-agent-dark.svg\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/telemetryflow/.github/raw/main/docs/assets/tfo-logo-agent-light.svg\"\u003e\n    \u003cimg src=\"https://github.com/telemetryflow/.github/raw/main/docs/assets/tfo-logo-agent-light.svg\" alt=\"TelemetryFlow Logo\" width=\"80%\"\u003e\n  \u003c/picture\u003e\n\n  \u003ch3\u003eTelemetryFlow Agent (OTEL Agent)\u003c/h3\u003e\n\n[![Version](https://img.shields.io/badge/Version-1.1.8-orange.svg)](CHANGELOG.md)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Go Version](https://img.shields.io/badge/Go-1.26+-00ADD8?logo=go)](https://golang.org/)\n[![OTEL SDK](https://img.shields.io/badge/OpenTelemetry_SDK-1.40.0-blueviolet)](https://opentelemetry.io/)\n[![OpenTelemetry](https://img.shields.io/badge/OTLP-100%25%20Compliant-success?logo=opentelemetry)](https://opentelemetry.io/)\n\n\u003c/div\u003e\n\n---\n\nEnterprise-grade telemetry collection agent built on **OpenTelemetry Go SDK v1.40.0**. Provides comprehensive system monitoring with metrics collection, heartbeat monitoring, and OTLP telemetry export for the **TelemetryFlow Platform**.\n\nThis agent works as the **client-side counterpart** to the TelemetryFlow Backend Agent Module (NestJS), providing:\n\n- Agent registration \u0026 lifecycle management\n- Heartbeat \u0026 health monitoring\n- System metrics collection\n- OTLP telemetry export\n\n## TelemetryFlow Ecosystem\n\nTFO-Agent is fully aligned with the TelemetryFlow ecosystem, sharing the same OpenTelemetry SDK version:\n\n```mermaid\ngraph LR\n    subgraph \"TelemetryFlow Ecosystem v1.1.8\"\n        subgraph \"Instrumentation\"\n            SDK[TFO-Go-SDK\u003cbr/\u003eOTEL SDK v1.40.0]\n        end\n\n        subgraph \"Collection\"\n            AGENT[TFO-Agent\u003cbr/\u003eOTEL SDK v1.40.0]\n        end\n\n        subgraph \"Processing\"\n            COLLECTOR[TFO-Collector\u003cbr/\u003eOTEL v0.146.1]\n        end\n    end\n\n    APP[Application] --\u003e SDK\n    SDK --\u003e|OTLP| AGENT\n    HOST[Host Metrics] --\u003e AGENT\n    AGENT --\u003e|OTLP gRPC/HTTP| COLLECTOR\n    COLLECTOR --\u003e BACKEND[TelemetryFlow\u003cbr/\u003ePlatform]\n\n    style SDK fill:#81C784,stroke:#388E3C\n    style AGENT fill:#64B5F6,stroke:#1976D2\n    style COLLECTOR fill:#FFB74D,stroke:#F57C00\n```\n\n| Component         | Version | OTEL Base          | Description                 |\n| ----------------- | ------- | ------------------ | --------------------------- |\n| **TFO-Agent**     | v1.1.8  | SDK v1.40.0        | Telemetry collection agent  |\n| **TFO-Go-SDK**    | v1.1.8  | SDK v1.40.0        | Go instrumentation SDK      |\n| **TFO-Collector** | v1.1.7  | Collector v0.147.0 | Central telemetry collector |\n\n## Features\n\n### OpenTelemetry Core\n\n- **OpenTelemetry SDK v1.40.0**: Built on standard OTEL Go SDK (aligned with TFO-Go-SDK)\n- **OTLP Export**: OpenTelemetry Protocol for metrics, logs, and traces\n- **Multi-Signal Support**: Metrics, logs, and traces collection\n\n### Agent Lifecycle (Backend Integration)\n\n- **Agent Registration**: Auto-register with TelemetryFlow backend\n- **Heartbeat Monitoring**: Regular health checks to backend\n- **Health Status Sync**: Report agent health and system info\n- **Activation/Deactivation**: Remote agent control from backend\n\n### System Monitoring\n\n- **System Metrics Collection**: CPU, memory, disk, and network metrics\n- **Docker Container Monitoring**: Per-container CPU, memory, network, disk I/O, and PID metrics via Docker Engine API\n- **cAdvisor Metrics Scraping**: Prometheus endpoint scraper for cAdvisor container metrics\n- **Process Monitoring**: Track running processes\n- **Resource Detection**: Auto-detect host, OS, and container info\n\n### Reliability\n\n- **Disk-Backed Buffer**: Resilient retry buffer for offline scenarios\n- **Auto-Reconnection**: Automatic retry with exponential backoff\n- **Graceful Shutdown**: Signal handling (SIGINT, SIGTERM, SIGHUP)\n\n### Platform\n\n- **Cross-Platform**: Linux, macOS, and Windows support\n- **LEGO Building Blocks**: Modular architecture for easy extensibility\n\n## Quick Start\n\n\u003e **🚀 New to TFO-Agent?** Check the [Quick Start Guide](docs/QUICK-START.md) for step-by-step setup with Docker, Kubernetes, or binary installation.\n\n### From Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/telemetryflow/telemetryflow-agent.git\ncd telemetryflow-agent\n\n# Build\nmake build\n\n# Run\n./build/tfo-agent --help\n```\n\n### Docker\n\n#### Using Docker Compose (Recommended)\n\n```bash\n# Copy environment template\ncp .env.example .env\n\n# Edit .env with your configuration\nvim .env\n\n# Build and start\ndocker-compose up -d --build\n\n# View logs\ndocker-compose logs -f tfo-agent\n\n# Stop\ndocker-compose down\n```\n\n#### Using Docker Directly\n\n```bash\n# Build image\ndocker build \\\n  --build-arg VERSION=1.1.8 \\\n  --build-arg GIT_COMMIT=$(git rev-parse --short HEAD) \\\n  --build-arg GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD) \\\n  --build-arg BUILD_TIME=$(date -u '+%Y-%m-%dT%H:%M:%SZ') \\\n  -t telemetryflow/telemetryflow-agent:1.1.8 .\n\n# Run container\ndocker run -d --name tfo-agent \\\n  -p 4317:4317 \\\n  -p 4318:4318 \\\n  -p 8888:8888 \\\n  -p 13133:13133 \\\n  -v /path/to/config.yaml:/etc/tfo-agent/tfo-agent.yaml:ro \\\n  -v /var/lib/tfo-agent:/var/lib/tfo-agent \\\n  telemetryflow/telemetryflow-agent:1.1.8\n```\n\n### OTEL Collector Ports\n\n| Port  | Protocol | Description            |\n| ----- | -------- | ---------------------- |\n| 4317  | gRPC     | OTLP gRPC (v1 \u0026 v2)    |\n| 4318  | HTTP     | OTLP HTTP (v1 \u0026 v2)    |\n| 8888  | HTTP     | OTEL Collector metrics |\n| 8889  | HTTP     | Prometheus exporter    |\n| 13133 | HTTP     | Health check           |\n| 55679 | HTTP     | zPages (debugging)     |\n| 1777  | HTTP     | pprof (profiling)      |\n\n### OTLP Endpoints (Dual Ingestion)\n\nThe TFO-Collector supports both TelemetryFlow (v2) and OTEL Community (v1) endpoints:\n\n**TelemetryFlow Platform (Recommended):**\n\n```text\nPOST http://localhost:4318/v2/traces\nPOST http://localhost:4318/v2/metrics\nPOST http://localhost:4318/v2/logs\n```\n\n**OTEL Community (Backwards Compatible):**\n\n```text\nPOST http://localhost:4318/v1/traces\nPOST http://localhost:4318/v1/metrics\nPOST http://localhost:4318/v1/logs\n```\n\n**gRPC:** `localhost:4317` (both v1 and v2)\n\n## Configuration\n\n\u003e **📋 Complete Configuration:** See [`configs/tfo-agent.default.yaml`](configs/tfo-agent.default.yaml) for a full configuration example showing Node Exporter, Kubernetes, and eBPF collectors integrated with TFO Platform.\n\u003e **🔗 Integration Guide:** See [TFO Platform Integration Guide](docs/TFO-PLATFORM-INTEGRATION.md) for architecture diagrams, data flow, and production deployment examples.\n\nCreate configuration file at `/etc/tfo-agent/tfo-agent.yaml`:\n\n```yaml\n# TelemetryFlow Platform Configuration (v1.1.8+)\ntelemetryflow:\n  api_key_id: \"${TELEMETRYFLOW_API_KEY_ID}\"\n  api_key_secret: \"${TELEMETRYFLOW_API_KEY_SECRET}\"\n  endpoint: \"${TELEMETRYFLOW_ENDPOINT:-localhost:4317}\"\n  protocol: grpc # grpc or http\n  tls:\n    enabled: true\n    skip_verify: false\n  retry:\n    enabled: true\n    max_attempts: 3\n    initial_interval: 1s\n    max_interval: 30s\n\nagent:\n  name: \"TelemetryFlow Agent\"\n  hostname: \"\" # Auto-detected if empty\n  tags:\n    environment: production\n\nheartbeat:\n  interval: 60s\n  timeout: 10s\n\ncollector:\n  system:\n    enabled: true\n    interval: 15s\n    cpu: true\n    memory: true\n    disk: true\n    network: true\n\nexporter:\n  otlp:\n    enabled: true\n    batch_size: 100\n    flush_interval: 10s\n    compression: gzip\n\nbuffer:\n  enabled: true\n  path: \"/var/lib/tfo-agent/buffer\"\n  max_size_mb: 100\n```\n\n### Environment Variables\n\n```bash\n# TelemetryFlow Platform (v1.1.8+)\nexport TELEMETRYFLOW_ENDPOINT=\"localhost:4317\"\nexport TELEMETRYFLOW_API_KEY_ID=\"tfk_your_key_id\"\nexport TELEMETRYFLOW_API_KEY_SECRET=\"tfs_your_key_secret\"\nexport TELEMETRYFLOW_ENVIRONMENT=\"production\"\n\n# Agent Configuration\nexport TELEMETRYFLOW_AGENT_ID=\"your-agent-id\"\nexport TELEMETRYFLOW_AGENT_NAME=\"my-agent\"\n\n# Logging\nexport TELEMETRYFLOW_LOG_LEVEL=\"info\"\n```\n\n## Usage\n\n```bash\n# Start agent\ntfo-agent start\n\n# Start with custom config\ntfo-agent start --config /path/to/config.yaml\n\n# Validate configuration\ntfo-agent config validate\n\n# Show version\ntfo-agent version\n```\n\n## Project Structure\n\n```\ntfo-agent/\n├── cmd/tfo-agent/         # CLI entry point\n├── internal/\n│   ├── agent/             # Core agent lifecycle\n│   ├── buffer/            # Disk-backed retry buffer\n│   ├── collector/         # Metric collectors\n│   │   ├── cadvisor/      # cAdvisor Prometheus scraper collector\n│   │   ├── docker/        # Docker container metrics collector\n│   │   ├── ebpf/          # eBPF kernel-level metrics collector\n│   │   ├── kubernetes/    # Kubernetes metrics collector\n│   │   ├── nodeexporter/  # Node Exporter metrics collector\n│   │   └── system/        # System metrics collector\n│   ├── config/            # Configuration management\n│   ├── exporter/          # OTLP data exporters\n│   └── version/           # Version and banner info\n├── pkg/                   # LEGO Building Blocks\n│   ├── api/               # HTTP API client\n│   ├── banner/            # Startup banner\n│   ├── config/            # Config loader utilities\n│   └── plugin/            # Plugin registry system\n├── configs/               # Configuration templates\n├── scripts/               # Build/install scripts\n├── build/                 # Build output\n├── Makefile\n├── Dockerfile             # Docker build\n├── docker-compose.yml     # Docker Compose\n├── .env.example           # Environment template\n└── README.md\n```\n\n## LEGO Building Blocks\n\nThe `pkg/` directory contains reusable building blocks:\n\n| Block        | Description                           |\n| ------------ | ------------------------------------- |\n| `pkg/banner` | ASCII art startup banner              |\n| `pkg/config` | Flexible configuration loader         |\n| `pkg/plugin` | Plugin registry for extensibility     |\n| `pkg/api`    | HTTP client for backend communication |\n\n### Adding Custom Plugins\n\n```go\nimport \"github.com/telemetryflow/telemetryflow/telemetryflow-agent/pkg/plugin\"\n\n// Register a custom collector\nplugin.Register(\"my-collector\", func() plugin.Plugin {\n    return \u0026MyCustomCollector{}\n})\n\n// Use the plugin\np, _ := plugin.Get(\"my-collector\")\np.Init(config)\np.Start()\n```\n\n## Collected Metrics\n\n| Metric                      | Type    | Description              |\n| --------------------------- | ------- | ------------------------ |\n| `system.cpu.usage`          | gauge   | CPU usage percentage     |\n| `system.cpu.cores`          | gauge   | Number of CPU cores      |\n| `system.memory.total`       | gauge   | Total memory (bytes)     |\n| `system.memory.used`        | gauge   | Used memory (bytes)      |\n| `system.memory.usage`       | gauge   | Memory usage percentage  |\n| `system.disk.total`         | gauge   | Total disk space (bytes) |\n| `system.disk.used`          | gauge   | Used disk space (bytes)  |\n| `system.disk.usage`         | gauge   | Disk usage percentage    |\n| `system.network.bytes_sent` | counter | Total bytes sent         |\n| `system.network.bytes_recv` | counter | Total bytes received     |\n\n### Docker Container Metrics\n\nThe Docker collector provides 32 per-container metrics via Docker Engine API:\n\n- **CPU**: `container.cpu.{usage_percent,usage_total,user,kernel,online_cpus,throttled_periods,throttled_time}`\n- **Memory**: `container.memory.{usage,working_set,limit,max_usage,rss,cache,usage_percent}`\n- **Network**: `container.network.{rx,tx}_{bytes,packets,errors,dropped}` (per-interface)\n- **Disk I/O**: `container.diskio.{read,write}_{bytes,ops}`\n- **PIDs**: `container.pids.current`\n- **State**: `container.state.{running,stopped,paused,restarting,total}`\n\n### cAdvisor Metrics\n\nThe cAdvisor collector scrapes Prometheus metrics from a running cAdvisor instance:\n\n- Collects `container_*` and `machine_*` metric families\n- Supports counter, gauge, histogram, summary, and untyped metric types\n- Optional metric name allowlist for selective collection\n\n### eBPF Metrics (Linux-only)\n\nThe eBPF collector provides 28 kernel-level metrics across 7 categories:\n\n- **Syscall**: `ebpf.syscall.{count,latency_ns,errors}` with `pid`, `comm`, `syscall` labels\n- **Network**: `ebpf.tcp.{connections,bytes_sent,bytes_recv,rtt_ns,retransmits}`, `ebpf.udp.{packets_sent,packets_recv}`\n- **File I/O**: `ebpf.fileio.{operations,bytes,latency_ns}` with `operation` label\n- **Scheduler**: `ebpf.sched.{context_switches,runq_latency_ns,oncpu_ns,migrations}`\n- **Memory**: `ebpf.memory.{page_faults,major_faults,minor_faults}`\n- **TCP State**: `ebpf.tcp.state_transitions` with `old_state`, `new_state` labels\n- **Hubble**: `hubble.{flows,drops,policy_verdicts,http_requests,dns_queries,l7_errors}`\n\nSee [eBPF Metrics Documentation](docs/integrations/eBPF/METRICS.md) for complete catalog.\n\n## Development\n\n### Prerequisites\n\n- Go 1.26 or later\n- Make\n\n### Build Commands\n\n```bash\n# Show all commands\nmake help\n\n# Build Commands\nmake                # Build agent (default)\nmake build          # Build agent for current platform\nmake build-all      # Build agent for all platforms\nmake build-linux    # Build for Linux (amd64 and arm64)\nmake build-darwin   # Build for macOS (amd64 and arm64)\n\n# Development Commands\nmake run            # Build and run agent\nmake dev            # Run with go run (faster for development)\nmake lint           # Run linter\nmake fmt            # Format code\nmake vet            # Run go vet\n\n# Dependencies\nmake deps           # Download dependencies\nmake deps-update    # Update dependencies\nmake tidy           # Tidy go modules\n\n# Other Commands\nmake clean          # Clean build artifacts\nmake install        # Install binary to /usr/local/bin\nmake uninstall      # Uninstall binary\nmake docker-build   # Build Docker image\nmake docker-push    # Push Docker image\nmake version        # Show version information\n```\n\n### Testing\n\n```bash\n# Run all tests\nmake test                    # Run unit and integration tests\nmake test-all                # Run unit, integration, and E2E tests\nmake test-unit               # Run unit tests only\nmake test-integration        # Run integration tests only\nmake test-e2e                # Run E2E tests only\n\n# Run specific tests\nmake test-run PKG=integrations                      # Run all integration tests\nmake test-run PKG=domain/agent                      # Run agent domain tests\nmake test-run TEST=TestPerconaCollector             # Run test by name pattern\nmake test-run PKG=integrations TEST=TestKafka       # Run specific test in package\nmake test-list                                       # List available test packages\n\n# Coverage and CI\nmake test-coverage           # Generate coverage report\nmake ci-test                 # Run with race detection (CI mode)\n\n# Using test script directly\n./scripts/test-specific.sh integrations             # Run all integration tests\n./scripts/test-specific.sh -c domain/agent          # Run with coverage\n./scripts/test-specific.sh -r TestExporter          # Run with race detector\n./scripts/test-specific.sh --ci infrastructure      # CI mode (race + coverage)\n./scripts/test-specific.sh -l                       # List available packages\n```\n\n#### Test Packages\n\n| Package                   | Description                 | Test Files |\n| ------------------------- | --------------------------- | ---------- |\n| `application`             | CLI commands, configuration | 3          |\n| `domain/agent`            | Agent lifecycle management  | 2          |\n| `domain/ebpf`             | eBPF collector              | 4          |\n| `domain/kubernetes`       | Kubernetes collector        | 1          |\n| `domain/nodeexporter`     | Node Exporter collector     | 1          |\n| `domain/plugin`           | Plugin registry             | 1          |\n| `domain/telemetry`        | Telemetry collection        | 2          |\n| `infrastructure/api`      | API client                  | 1          |\n| `infrastructure/buffer`   | Disk-backed buffer          | 1          |\n| `infrastructure/config`   | Configuration loader        | 1          |\n| `infrastructure/exporter` | OTLP exporters              | 3          |\n| `integrations`            | 3rd party integrations      | 36         |\n| `presentation/banner`     | Startup banner              | 1          |\n\n## Systemd Service\n\n```ini\n# /etc/systemd/system/tfo-agent.service\n[Unit]\nDescription=TelemetryFlow Agent - CEOP\nAfter=network.target\n\n[Service]\nType=simple\nUser=telemetryflow\nExecStart=/usr/local/bin/tfo-agent start --config /etc/tfo-agent/tfo-agent.yaml\nRestart=always\nRestartSec=5\n\n[Install]\nWantedBy=multi-user.target\n```\n\n```bash\nsudo systemctl daemon-reload\nsudo systemctl enable tfo-agent\nsudo systemctl start tfo-agent\n```\n\n## 3rd Party Integrations\n\nTelemetryFlow Agent supports **39+ integrations** for enterprise environments across multiple categories.\n\n### Integration Categories\n\n| Category              | Integrations                                                 | Count |\n| --------------------- | ------------------------------------------------------------ | ----- |\n| **Cloud Providers**   | GCP, Azure, Alibaba Cloud, AWS CloudWatch                    | 4     |\n| **Infrastructure**    | Proxmox, VMware vSphere, Nutanix, Azure Arc                  | 4     |\n| **Network \u0026 IoT**     | Cisco (DNA Center/Meraki), SNMP v1/v2c/v3, MQTT              | 3     |\n| **Kernel/System**     | eBPF (syscalls, network, file I/O, scheduler), Cilium Hubble | 2     |\n| **APM Platforms**     | Dynatrace, IBM Instana, Datadog, New Relic                   | 4     |\n| **OSS Observability** | SigNoz, Coroot, HyperDX, OpenObserve, Netdata                | 5     |\n| **Observability**     | Prometheus, Splunk, Elasticsearch                            | 3     |\n| **Streaming \u0026 Logs**  | Kafka, Loki, InfluxDB                                        | 3     |\n| **Tracing**           | Jaeger, Zipkin                                               | 2     |\n| **Monitoring Tools**  | Telegraf, Grafana Alloy, Percona PMM, Blackbox, ManageEngine | 5     |\n| **Custom**            | Webhook                                                      | 1     |\n\n### Data Type Support Matrix\n\n| Integration        | Metrics | Logs | Traces | Protocol       |\n| ------------------ | :-----: | :--: | :----: | -------------- |\n| **Cloud**          |         |      |        |                |\n| GCP                |   ✅    |  ✅  |   ✅   | gRPC/REST      |\n| Azure              |   ✅    |  ✅  |   ✅   | REST           |\n| Alibaba Cloud      |   ✅    |  ✅  |   ✅   | REST           |\n| AWS CloudWatch     |   ✅    |  ✅  |   ❌   | REST           |\n| **Infrastructure** |         |      |        |                |\n| Proxmox            |   ✅    |  ❌  |   ❌   | REST           |\n| VMware vSphere     |   ✅    |  ❌  |   ❌   | REST/SOAP      |\n| Nutanix            |   ✅    |  ❌  |   ❌   | REST           |\n| Azure Arc          |   ✅    |  ❌  |   ❌   | REST           |\n| **Network**        |         |      |        |                |\n| Cisco              |   ✅    |  ❌  |   ❌   | REST           |\n| SNMP               |   ✅    |  ❌  |   ❌   | SNMP v1/v2c/v3 |\n| MQTT               |   ✅    |  ✅  |   ✅   | MQTT           |\n| **System**         |         |      |        |                |\n| eBPF               |   ✅    |  ❌  |   ❌   | Kernel         |\n| Cilium Hubble      |   ✅    |  ❌  |   ✅   | gRPC           |\n| **APM Platforms**  |         |      |        |                |\n| Dynatrace          |   ✅    |  ✅  |   ✅   | REST/OTLP      |\n| IBM Instana        |   ✅    |  ✅  |   ✅   | REST           |\n| Datadog            |   ✅    |  ✅  |   ✅   | REST           |\n| New Relic          |   ✅    |  ✅  |   ✅   | REST           |\n| **OSS Observ.**    |         |      |        |                |\n| SigNoz             |   ✅    |  ✅  |   ✅   | OTLP/HTTP      |\n| Coroot             |   ✅    |  ✅  |   ✅   | OTLP/HTTP      |\n| HyperDX            |   ✅    |  ✅  |   ✅   | OTLP/HTTP      |\n| OpenObserve        |   ✅    |  ✅  |   ✅   | OTLP/HTTP      |\n| Netdata            |   ✅    |  ❌  |   ❌   | REST           |\n| **Observability**  |         |      |        |                |\n| Prometheus         |   ✅    |  ❌  |   ❌   | Remote Write   |\n| Splunk             |   ✅    |  ✅  |   ❌   | HEC            |\n| Elasticsearch      |   ✅    |  ✅  |   ❌   | REST           |\n| ManageEngine       |   ✅    |  ✅  |   ❌   | REST           |\n| **Streaming**      |         |      |        |                |\n| Kafka              |   ✅    |  ✅  |   ✅   | Kafka Protocol |\n| Loki               |   ❌    |  ✅  |   ❌   | REST           |\n| InfluxDB           |   ✅    |  ❌  |   ❌   | Line Protocol  |\n| **Tracing**        |         |      |        |                |\n| Jaeger             |   ❌    |  ❌  |   ✅   | gRPC/Thrift    |\n| Zipkin             |   ❌    |  ❌  |   ✅   | REST           |\n| **Tools**          |         |      |        |                |\n| Telegraf           |   ✅    |  ❌  |   ❌   | InfluxDB LP    |\n| Grafana Alloy      |   ✅    |  ✅  |   ✅   | OTLP           |\n| Percona PMM        |   ✅    |  ❌  |   ❌   | REST           |\n| Blackbox           |   ✅    |  ❌  |   ❌   | HTTP Probe     |\n| Webhook            |   ✅    |  ✅  |   ✅   | HTTP/HTTPS     |\n\n### Integration Capabilities Comparison\n\n| Feature                   | TFO-Agent | Datadog | New Relic | Dynatrace | Instana | Splunk | ManageEngine | Grafana Stack (OSS) |\n| ------------------------- | :-------: | :-----: | :-------: | :-------: | :-----: | :----: | :----------: | :-----------------: |\n| **OTLP Native**           |    ✅     |   ⚠️    |    ⚠️     |    ✅     |   ⚠️    |   ⚠️   |      ❌      |         ✅          |\n| **Multi-Cloud**           |    ✅     |   ✅    |    ✅     |    ✅     |   ✅    |   ✅   |      ⚠️      |         ✅          |\n| **Hybrid Infrastructure** |    ✅     |   ⚠️    |    ⚠️     |    ✅     |   ✅    |   ⚠️   |      ✅      |         ⚠️          |\n| **eBPF Support**          |    ✅     |   ✅    |    ⚠️     |    ✅     |   ✅    |   ❌   |      ❌      |         ⚠️          |\n| **Network Devices**       |    ✅     |   ⚠️    |    ⚠️     |    ⚠️     |   ⚠️    |   ✅   |      ✅      |         ⚠️          |\n| **IoT/MQTT**              |    ✅     |   ❌    |    ❌     |    ⚠️     |   ⚠️    |   ⚠️   |      ⚠️      |         ⚠️          |\n| **Disk-Backed Buffer**    |    ✅     |   ✅    |    ✅     |    ✅     |   ✅    |   ✅   |      ❌      |         ✅          |\n| **APM/Traces**            |    ✅     |   ✅    |    ✅     |    ✅     |   ✅    |   ⚠️   |      ⚠️      |         ✅          |\n| **Log Management**        |    ✅     |   ✅    |    ✅     |    ✅     |   ⚠️    |   ✅   |      ✅      |         ✅          |\n| **Real-time Metrics**     |    ✅     |   ✅    |    ✅     |    ✅     |   ✅    |   ✅   |      ✅      |         ✅          |\n| **Auto-Discovery**        |    ✅     |   ✅    |    ✅     |    ✅     |   ✅    |   ⚠️   |      ✅      |         ⚠️          |\n| **On-Premise Deploy**     |    ✅     |   ❌    |    ❌     |    ✅     |   ✅    |   ✅   |      ✅      |         ✅          |\n| **License**               | Apache 2  |  Prop.  |   Prop.   |   Prop.   |  Prop.  | Prop.  |    Prop.     |       AGPLv3        |\n\nLegend: ✅ Full Support | ⚠️ Partial/Plugin | ❌ Not Supported\n\n\u003e **Note**: Grafana Stack (OSS) refers to the self-hosted open-source LGTM stack (Loki, Grafana, Tempo, Mimir) with Grafana Alloy as the agent. For Grafana Cloud (SaaS), capabilities may differ.\n\n### Open Source Observability Comparison\n\n| Feature            | TFO Platform | SigNoz | Coroot | HyperDX | OpenObserve | Netdata |\n| ------------------ | :----------: | :----: | :----: | :-----: | :---------: | :-----: |\n| **OTLP Native**    |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ❌    |\n| **Metrics**        |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ✅    |\n| **Logs**           |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ❌    |\n| **Traces**         |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ❌    |\n| **eBPF Support**   |      ✅      |   ⚠️   |   ✅   |   ❌    |     ❌      |   ✅    |\n| **Auto-Discovery** |      ✅      |   ✅   |   ✅   |   ⚠️    |     ⚠️      |   ✅    |\n| **Service Maps**   |      ✅      |   ✅   |   ✅   |   ✅    |     ⚠️      |   ❌    |\n| **ClickHouse**     |      ✅      |   ✅   |   ✅   |   ✅    |     ❌      |   ❌    |\n| **Self-Hosted**    |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ✅    |\n| **Cloud Offering** |      ✅      |   ✅   |   ✅   |   ✅    |     ✅      |   ✅    |\n| **License**        |   Apache 2   | MIT/EE | Apache | MIT/EE  |  Apache/EE  |  GPLv3  |\n\nLegend: ✅ Full Support | ⚠️ Partial/Plugin | ❌ Not Supported\n\n\u003e **Note**: TFO Platform refers to the complete TelemetryFlow ecosystem (TFO-Agent + TFO-Collector + TFO-Backend) with ClickHouse storage and service map visualization.\n\n### Key Differentiators\n\n| Capability                | Description                                                 |\n| ------------------------- | ----------------------------------------------------------- |\n| **Unified Agent**         | Single agent for cloud, infrastructure, network, and system |\n| **OTLP-First**            | Native OpenTelemetry Protocol support (gRPC \u0026 HTTP)         |\n| **Enterprise Ready**      | TLS, mTLS, API key authentication, retry with backoff       |\n| **Hybrid Cloud**          | Proxmox, VMware, Nutanix, Azure Arc in one agent            |\n| **Network Observability** | Cisco DNA/Meraki, SNMP v3, MQTT for IoT                     |\n| **Kernel-Level**          | eBPF for syscalls, network, file I/O, scheduler metrics     |\n| **Resilient**             | Disk-backed buffer with automatic retry and flush           |\n| **Extensible**            | Plugin architecture for custom integrations                 |\n\nSee [Integration Documentation](docs/integrations/README.md) for detailed configuration.\n\n## Documentation\n\n| Document                                            | Description                                                    |\n| --------------------------------------------------- | -------------------------------------------------------------- |\n| [README](docs/README.md)                            | Documentation overview                                         |\n| [ARCHITECTURE](docs/ARCHITECTURE.md)                | System architecture with Mermaid diagrams                      |\n| [INSTALLATION](docs/INSTALLATION.md)                | Installation guide for all platforms                           |\n| [CONFIGURATION](docs/CONFIGURATION.md)              | Configuration options and examples                             |\n| [COMMANDS](docs/COMMANDS.md)                        | CLI commands reference                                         |\n| [DEVELOPMENT](docs/DEVELOPMENT.md)                  | Development guide and coding standards                         |\n| [TROUBLESHOOTING](docs/TROUBLESHOOTING.md)          | Troubleshooting guide and common issues                        |\n| [GITHUB-WORKFLOWS](docs/GITHUB-WORKFLOWS.md)        | CI/CD workflows documentation                                  |\n| [INTEGRATIONS](docs/integrations/README.md)         | 3rd party integration guides                                   |\n| [eBPF](docs/integrations/eBPF/README.md)            | eBPF kernel-level observability (28 metrics)                   |\n| [QUICK-START](docs/QUICK-START.md)                  | Quick start guide (Docker/K8s/Binary)                          |\n| [TFO-INTEGRATION](docs/TFO-PLATFORM-INTEGRATION.md) | TFO Platform integration guide (architecture, metrics catalog) |\n| [CHANGELOG](CHANGELOG.md)                           | Version history and changes                                    |\n\n## License\n\nApache License 2.0 - See [LICENSE](../LICENSE)\n\n## Links\n\n- **Website**: [https://telemetryflow.id](https://telemetryflow.id)\n- **Documentation**: [https://docs.telemetryflow.id](https://docs.telemetryflow.id)\n- **OpenTelemetry**: [https://opentelemetry.io](https://opentelemetry.io)\n- **Developer**: [DevOpsCorner Indonesia](https://devopscorner.id)\n\n---\n\n**Copyright (c) 2024-2026 DevOpsCorner Indonesia. All rights reserved.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelemetryflow%2Ftelemetryflow-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelemetryflow%2Ftelemetryflow-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelemetryflow%2Ftelemetryflow-agent/lists"}