Một trong những khác biệt dễ tạo ra tác động rõ rệt khi triển khai Datadog ở quy mô lớn là Universal Service Monitoring (USM).
USM cho phép theo dõi service health và dependency mapping trên toàn bộ hạ tầng chỉ bằng Datadog Agent, không yêu cầu cài tracing library hay chỉnh sửa application code.
Điểm đáng chú ý về mặt kỹ thuật là Datadog triển khai USM dựa trên eBPF để thu thập signal ở system layer, nhờ đó bao phủ được nhiều runtime và programming language mà không phụ thuộc vào instrumentation ở từng service.
Vấn đề mà USM giải quyết
Trong thực tế vận hành, rất nhiều service không được instrument đầy đủ vì các lý do phổ biến:
- Service legacy, khó thay đổi
- Service do bên thứ ba cung cấp
- Hệ thống đa ngôn ngữ, đa framework, thiếu chuẩn chung
- Môi trường thay đổi nhanh, không đồng bộ được việc triển khai tracing library
Hệ quả là tổ chức không có một service inventory đầy đủ, thiếu cái nhìn tổng thể về service dependency, cũng như các health metrics cơ bản của từng service.
USM được thiết kế để thu hẹp khoảng trống này bằng cách tự động phát hiện và theo dõi service mà không cần can thiệp vào code.
Service telemetry không cần instrumentation
USM là khả năng thu thập service health metrics trên toàn bộ stack mà không cần code instrumentation, chỉ cần Datadog Agent được cài đặt cạnh service.
Trên UI, có thể nhận biết telemetry đến từ USM thông qua các operation name:
universal.http.server: đại diện cho inbound traffic vào serviceuniversal.http.client: đại diện cho outbound traffic từ service đến các destination khác
Tự động có service inventory và dependency mapping
Sau khi cấu hình Agent, chờ khoảng 5 phút để service xuất hiện trong Software Catalog, và từ đó có thể điều hướng sang Service Map để xem service topology và dependency.
Đây là điểm tạo khác biệt trong triển khai thực tế: không cần đợi từng team application instrument xong mới có được một service inventory tương đối đầy đủ.
Với USM, tổ chức có thể đạt được mức visibility tối thiểu về service topology sớm, sau đó mới nâng cấp dần sang distributed tracing khi cần phân tích sâu theo trace.
Điều kiện triển khai và giới hạn
USM không phải là một cơ chế thu thập tùy ý. Nó có các yêu cầu kỹ thuật cụ thể:
- Datadog Agent tối thiểu 6.40 hoặc 7.40 cho workload chạy container
- Linux kernel 4.14+ cho các Linux platform được hỗ trợ
- Windows Server 2012 R2+ cho Windows platform được hỗ trợ
- Application-layer protocol hỗ trợ cơ bản: HTTP và HTTPS (OpenSSL)
USM yêu cầu system-probe và system-probe không được hỗ trợ trên GKE Autopilot. Đây là một ràng buộc triển khai quan trọng nếu tổ chức đang sử dụng GKE Autopilot.
Với các trường hợp nâng cao như HTTP/2 và gRPC, Datadog yêu cầu Linux kernel 5.2+ và Agent phiên bản cao hơn do phụ thuộc vào nền tảng.
Yêu cầu thống nhất ngay từ lúc process khởi động
Một chi tiết thường gây sai lệch khi triển khai USM là cách USM suy luận service name.
USM đọc environment variables tại thời điểm process khởi động, trực tiếp từ hệ điều hành, và nhận diện các biến như:
DD_SERVICEDD_ENVDD_VERSIONDD_TAGS
Một giới hạn quan trọng: nếu các biến môi trường này được set bên trong application code, USM không phát hiện được, dù cách đó vẫn có thể hoạt động với APM instrumentation (do APM library chạy trong process của application).
USM chạy như một process độc lập trong Agent, nên chỉ nhìn thấy các giá trị đã tồn tại trước khi process khởi động.
Hệ quả thực hành là cần thiết lập DD_SERVICE và DD_ENV ngay từ đầu, đồng thời ưu tiên Unified Service Tagging để đảm bảo dữ liệu service được group chính xác trong Datadog.
Điều USM làm tốt và điều USM không thay thế
USM rất mạnh ở độ bao phủ: tự động phát hiện service và cung cấp service health signal và dependency information, đặc biệt hữu ích trong các hệ thống có nhiều service chưa được instrument.
Tuy nhiên, USM không nhằm thay thế distributed tracing. Tracing vẫn cần thiết để cung cấp end-to-end context, span attributes, và error context ở mức application.
USM được định vị như một lớp giúp chuẩn hóa service-level visibility, sau đó có thể kết hợp với APM khi cần phân tích root cause sâu hơn.
Kết luận
Nếu cần một ví dụ rõ ràng để thể hiện giá trị khác biệt của Datadog ở góc độ triển khai thực tế, Universal Service Monitoring là một ví dụ tiêu biểu: một cơ chế dựa trên eBPF và Datadog Agent để tự động phát hiện service, xây dựng dependency mapping, và theo dõi service health mà không buộc tổ chức phải instrument code ngay từ đầu.







