Skip to main content

Collect application metrics with Netdata

Netdata instantly collects per-second metrics from many different types of applications running on your systems, such as web servers, databases, message brokers, email servers, search platforms, and much more. Metrics collectors are pre-installed with every Netdata Agent and usually require zero configuration. Netdata also collects and visualizes resource utilization per application on Linux systems using apps.plugin.

apps.plugin looks at the Linux process tree every second, much like top or ps fax, and collects resource utilization information on every running process. By reading the process tree, Netdata shows CPU, disk, networking, processes, and eBPF for every application or Linux user. Unlike top or ps fax, Netdata adds a layer of meaningful visualization on top of the process tree metrics, such as grouping applications into useful dimensions, and then creates per-application charts under the Applications section of a Netdata dashboard, per-user charts under Users, and per-user group charts under User Groups.

Our most popular application collectors:

  • Prometheus endpoints: Gathers metrics from one or more Prometheus endpoints that use the OpenMetrics exposition format. Auto-detects more than 600 endpoints.
  • Web server logs (Apache, NGINX): Tail access logs and provide very detailed web server performance statistics. This module is able to parse 200k+ rows in less than half a second.
  • MySQL: Collect database global, replication, and per-user statistics.
  • Redis: Monitor database status by reading the server's response to the INFO command.
  • Apache: Collect Apache web server performance metrics via the server-status?auto endpoint.
  • Nginx: Monitor web server status information by gathering metrics via ngx_http_stub_status_module.
  • Postgres: Collect database health and performance metrics.
  • ElasticSearch: Collect search engine performance and health statistics. Optionally collects per-index metrics.
  • PHP-FPM: Collect application summary and processes health metrics by scraping the status page (/status?full).

Our supported collectors list shows all Netdata's application metrics collectors, including those for containers/k8s clusters.

Collect metrics from applications running on Windows

Netdata is fully capable of collecting and visualizing metrics from applications running on Windows systems. The only caveat is that you must install Netdata on a separate system or a compatible VM because there is no native Windows version of the Netdata Agent.

Once you have Netdata running on that separate system, you can follow the collectors configuration reference documentation to tell the collector to look for exposed metrics on the Windows system's IP address or hostname, plus the applicable port.

For example, you have a MySQL database with a root password of my-secret-pw running on a Windows system with the IP address 203.0.113.0. you can configure the MySQL collector to look at 203.0.113.0:3306:

jobs:
- name: local
dsn: root:my-secret-pw@tcp(203.0.113.0:3306)/

This same logic applies to any application in our supported collectors list that can run on Windows.

What's next?

If you haven't yet seen the supported collectors list give it a once-over for any additional applications you may want to monitor using Netdata's native collectors, or the generic Prometheus collector.

Collecting all the available metrics on your nodes, and across your entire infrastructure, is just one piece of the puzzle. Next, learn more about Netdata's famous real-time visualizations by seeing an overview of your infrastructure using Netdata Cloud.


Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.