deepflow

eBPF Observability - Distributed Tracing and Profiling

APACHE-2.0 License

Stars
2.7K
Committers
98

Bot releases are hidden (Show)

deepflow - v6.1.2

Published by dundun9 about 2 years ago

V6.1.2 is the second version after open source, we officially started the rhythm of a small version every two weeks.

Application

  • AutoMetrics, AutoLogging
    • MySQL adds COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_FETCH, COM_STMT_CLOSE command parsing capability
    • Support collecting MQTT 3.1 call logs and performance metrics
  • SQL API
    • Support SELECT labels to get all custom label columns

System

  • deepflow-agent

    • Added the Inactive IP Indicator Data configuration item. After this configuration is turned off, IPs that do not reply to traffic will be aggregated
    • Use BPF pre-filtered acquisition interface to improve acquisition performance
    • Provide deb installation package
  • deepflow-ctl

    • agent-group-config update no longer needs to specify the agent-group-id parameter
  • hotfix: https://github.com/deepflowys/deepflow/pull/784

deepflow - v6.1.1

Published by dundun9 about 2 years ago

V6.1.1 took three months to develop. It is a major iterative version of the V6 series and the first community version officially released by DeepFlow. Since then, the enterprise version and the community version will be iterated simultaneously, and the development rhythm of release a small version every two weeks will be promoted, and the last small version of V6.1 (LTS) will be released after about four small versions. Version).

In order to create a highly automated open source observability platform, we have made major adjustments to the software architecture in this version, including merging too many microservices, eliminating some components for DaemonSet, HostNet and other deployment modes dependencies, use Golang to refactor some Python modules, etc.

Most importantly, in this release we have greatly enhanced application performance monitoring capabilities:

  • Support the integration and association of OpenTelemetry and SkyWalking tracking data, unlock full-stack, full-link distributed tracking capabilities without blind spots, and improve communication efficiency between different development teams
  • Support the integration and association of Prometheus and Telegraf indicator data, and accumulate system, application, and business full-stack indicators on one platform, so that operation and maintenance, development, and operation can work together
  • Enhanced AutoTagging and SmartEncoding capabilities to support injecting more K8s custom Labels
  • Enhanced eBPF AutoTracing capability to support the collection of Golang HTTPS calls

Note: The Release Note below does not include Enterprise Edition features.

application function

  • Indicator data enhancement
    • Support for integrating Prometheus metrics data (implementing remote_write interface)
    • Support integration of Telegraf metrics data
    • Supports automatic injection of cloud resources, container resources, and K8s custom Labels (AutoTagging) into the integrated indicator data
  • Distributed tracing enhancement
    • Support integrated OpenTelemetry tracking data
    • Support integrated SkyWalking tracking data
    • Support associated applications, systems, and network spans to achieve full-stack, full-link tracking capabilities without blind spots
    • Supports automatic injection of cloud resources, container resources, and K8s custom Labels into the integrated tracking data (AutoTagging)
  • Enhanced application call collection capabilities
    • Support eBPF to collect Golang's HTTPS call logs and performance metrics
    • Support eBPF/BPF to collect MQTT 3.1 call logs and performance indicators (Beta)
    • Application protocol analysis to remove port number restrictions
  • Grafana support enhancements
    • Added interactive DeepFlow Query Editor, a new zero-threshold query condition editor
    • Added DeepFlow AppTracing Panel for drawing call chain tracing flame graphs
    • Added DeepFlow Topo Panel for drawing call topology
  • Search ability improved
    • Support query historical data of deleted resources
    • Support to use K8s custom Label to search all data
    • Support grouping all data based on K8s custom Label
    • Support for creating template variables based on all searchable fields
  • Flow log aggregation logic adjustment
    • The flow log only records the TCP Flags that appear in the current cycle
    • Lag timeout after captured FIN-FIN-ACK sequence, waiting for last ACK
    • VLAN field in storage traffic
  • Added Math operator for index quantity

System functions

  • Provides the deepflow-ctl command line tool for CLI management
  • Agent (collector)
    • Supports parsing multiple specifications of TraceID and SpanID in HTTP and Dubbo protocols at the same time
    • Support to collect network and application performance data of VIP on loopback interface
    • The default configuration of the acquisition network port supports Calico, Flannel, Qemu, Cilium, Kube-OVN, localhost, physical network card
    • Move all configuration items that do not prevent the collector from starting to be issued by the controller, and provide a declarative group configuration API
    • Support remote limit CPU usage of deepflow-agent (Rust)
    • Support self-healing after collector allocation controller or data node failure
  • Server (controller, data node)
    • Support synchronizing K8s custom Label
    • Support for lag deletion of deleted resource information
    • Provides unified Schema API and SQL query API for all data tables
    • The main module of the merge controller and data node is deepflow-server
    • Optimized the deployment method of controllers and data nodes, and reduced the dependence on DaemonSet and HostNet
    • Optimize the main controller election logic and remove the dependency on Zookeeper
    • Eliminate plaintext keys stored in the database