The Netdata Agent is the main building block in the Netdata ecosystem. It is installed on all monitored systems to monitor system components, containers and applications.
The Netdata Agent is an observability pipeline in a box that can either operate standalone, or blend into a bigger pipeline made by more Netdata Agents (Children and Parents).
The Netdata observability pipeline looks like in the following graph.
The pipeline is extended by creating Metrics Observability Centralization Points that are linked all together (from a remote Netdata
, to a remote Netdata
), so that all Netdata installed become a vast integrated observability pipeline.
stateDiagram-v2
classDef userFeature fill:#f00,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
classDef usedByNC fill:#090,color:white,font-weight:bold,stroke-width:2px,stroke:yellow
Local --> Discover
Local: Local Netdata
[*] --> Detect: from a remote Netdata
Others: 3rd party time-series DBs
Detect: Detect Anomalies
Dashboard:::userFeature
Dashboard: Netdata Dashboards
3rdDashboard:::userFeature
3rdDashboard: 3rd party Dashboards
Notifications:::userFeature
Notifications: Alert Notifications
Alerts: Alert Transitions
Discover --> Collect
Collect --> Detect
Store: Store
Store: Time-Series Database
Detect --> Store
Store --> Learn
Store --> Check
Store --> Query
Store --> Score
Store --> Stream
Store --> Export
Query --> Visualize
Score --> Visualize
Check --> Alerts
Learn --> Detect: trained ML models
Alerts --> Notifications
Stream --> [*]: to a remote Netdata
Export --> Others
Others --> 3rdDashboard
Visualize --> Dashboard
Score:::usedByNC
Query:::usedByNC
Alerts:::usedByNC
dbengine
) or a ring buffer (database modes ram
and alloc
).One moving part: Other monitoring solution require maintaining metrics exporters, time-series databases, visualization engines. Netdata has everything integrated into one package, even when Metrics Centralization Points are required, making deployment and maintenance a lot simpler.
Automation: Netdata is designed to automate most of the process of setting up and running an observability solution. It is designed to instantly provide comprehensive dashboards and fully automated alerts, with zero configuration.
High Fidelity Monitoring: Netdata was born from our need to kill the console for observability. So, it provides metrics and logs in the same granularity and fidelity console tools do, but also comes with tools that go beyond metrics and logs, to provide a holistic view of the monitored infrastructure (e.g., check Top Monitoring).
Minimal impact on monitored systems and applications: Netdata has been designed to have a minimal impact on the monitored systems and their applications. There are independent studies reporting that Netdata excels in CPU usage, RAM utilization, Execution Time and the impact Netdata has on monitored applications and containers.
Energy efficiency: University of Amsterdam did a research to find the energy efficiency of monitoring tools. They tested Netdata, Prometheus, ELK, among other tools. The study concluded that Netdata is the most energy efficient monitoring tool.
The Netdata agents (Standalone, Children and Parents) share the dashboard of Netdata Cloud. However, when the user is logged in and the Netdata agent is connected to Netdata Cloud, the following are enabled (which are otherwise disabled):
Access to Sensitive Data: Some data, like systemd-journal logs and several Top Monitoring features expose sensitive data, like IPs, ports, process command lines and more. To access all these when the dashboard is served directly from a Netdata agent, Netdata Cloud is required to verify that the user accessing the dashboard has the required permissions.
Dynamic Configuration: Netdata agents are configured via configuration files, manually or through some provisioning system. The latest Netdata includes a feature to allow users to change some configurations (collectors, alerts) via the dashboard. This feature is only available to users of paid Netdata Cloud plan.