graph LR
Core_Monitoring_Framework["Core Monitoring Framework"]
System_Resource_Monitoring["System & Resource Monitoring"]
Agent_Self_Monitoring["Agent Self-Monitoring"]
Container_Orchestration_Integration["Container & Orchestration Integration"]
Platform_Abstraction_Layer["Platform Abstraction Layer"]
Communication_Infrastructure["Communication Infrastructure"]
Core_Monitoring_Framework -- "uses" --> Platform_Abstraction_Layer
Core_Monitoring_Framework -- "uses" --> Communication_Infrastructure
System_Resource_Monitoring -- "uses" --> Core_Monitoring_Framework
Agent_Self_Monitoring -- "uses" --> Core_Monitoring_Framework
Agent_Self_Monitoring -- "uses" --> Platform_Abstraction_Layer
Container_Orchestration_Integration -- "uses" --> Communication_Infrastructure
click Core_Monitoring_Framework href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/Core Monitoring Framework.md" "Details"
click System_Resource_Monitoring href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/System & Resource Monitoring.md" "Details"
click Agent_Self_Monitoring href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/Agent Self-Monitoring.md" "Details"
click Container_Orchestration_Integration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/Container & Orchestration Integration.md" "Details"
click Platform_Abstraction_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/Platform Abstraction Layer.md" "Details"
click Communication_Infrastructure href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/dd-agent/Communication Infrastructure.md" "Details"
The Datadog Agent is a daemon that collects system-level and application-level metrics from a host and sends them to Datadog. It provides real-time monitoring of servers, virtual machines, and containers. The agent is designed to be lightweight and efficient, and it supports a wide variety of integrations with popular technologies.
This component provides the foundation for all monitoring activities within the Datadog Agent. It defines the base classes and interfaces for creating checks, managing their lifecycle, and handling data collection and submission. It also includes functionalities for configuration loading, data serialization, and communication with the Datadog backend. The Core Monitoring Framework ensures consistency and reliability across all checks.
Related Classes/Methods:
This component focuses on collecting and reporting metrics related to system resources such as CPU, memory, disk I/O, and processes. It provides platform-specific implementations for both Windows and Unix-based systems, leveraging appropriate APIs and utilities to gather accurate and comprehensive system-level data. This component is crucial for understanding the resource utilization and performance of the monitored hosts.
Related Classes/Methods:
dd-agent.checks.system.win32.Processes(34:52)dd-agent.checks.system.win32.Memory(55:135)dd-agent.checks.system.win32.Cpu(138:159)dd-agent.checks.system.win32.IO(162:214)dd-agent.checks.system.win32.System(217:225)dd-agent.checks.system.unix.IO(162:214)dd-agent.checks.system.unix.FileHandles(10:110)dd-agent.checks.system.unix.Load(10:100)dd-agent.checks.system.unix.Memory(55:135)dd-agent.checks.system.unix.Processes(34:52)dd-agent.checks.system.unix.Cpu(138:159)
This component focuses on monitoring the health and performance of the agent itself. It collects metrics about the agent's internal state, such as the number of running checks, resource usage, and communication latency. This information is crucial for ensuring the agent is functioning correctly and for troubleshooting any issues that may arise.
Related Classes/Methods:
dd-agent.checks.check_status.AgentStatus(10:100)dd-agent.checks.check_status.CollectorStatus(110:200)dd-agent.checks.check_status.DogstatsdStatus(210:300)dd-agent.checks.check_status.ForwarderStatus(310:400)dd-agent.checks.check_status:get_jmx_status(410:500)
This component provides the necessary utilities and integrations for monitoring containerized environments and interacting with orchestration platforms such as Kubernetes, Docker, and ECS. It enables the agent to discover container metadata, retrieve container statistics, and adapt to dynamic changes in the container landscape. This component is essential for monitoring modern, cloud-native applications.
Related Classes/Methods:
dd-agent.utils.containers(10:200)dd-agent.utils.orchestrator(10:250)dd-agent.utils.kubernetes(10:300)
This component provides a set of platform-independent utilities and abstractions for interacting with the underlying operating system. It includes functionalities for hostname resolution, process management, subprocess execution, and other system-level operations. This layer ensures that the agent can run seamlessly on different platforms without requiring significant code changes.
Related Classes/Methods:
dd-agent.utils.platform.Platform(10:100)dd-agent.utils.hostname(10:150)dd-agent.utils.process(10:200)dd-agent.utils.subprocess_output(10:150)
This component handles all communication-related tasks within the agent, including making HTTP requests to the Datadog backend and other services. It provides functionalities for connection pooling, request retries, and error handling, ensuring reliable and efficient communication. This component is crucial for transmitting collected metrics and receiving configuration updates.
Related Classes/Methods: