diff options
Diffstat (limited to 'docs/collect')
-rw-r--r-- | docs/collect/application-metrics.md | 83 | ||||
-rw-r--r-- | docs/collect/container-metrics.md | 101 | ||||
-rw-r--r-- | docs/collect/system-metrics.md | 62 |
3 files changed, 0 insertions, 246 deletions
diff --git a/docs/collect/application-metrics.md b/docs/collect/application-metrics.md deleted file mode 100644 index ec73cefe3..000000000 --- a/docs/collect/application-metrics.md +++ /dev/null @@ -1,83 +0,0 @@ -<!-- -title: "Collect application metrics with Netdata" -sidebar_label: "Application metrics" -description: "Monitor and troubleshoot every application on your infrastructure with per-second metrics, zero configuration, and meaningful charts." -custom_edit_url: "https://github.com/netdata/netdata/edit/master/docs/collect/application-metrics.md" -learn_status: "Published" -learn_topic_type: "Concepts" -learn_rel_path: "Concepts" ---> - -# 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**](https://github.com/netdata/netdata/blob/master/collectors/apps.plugin/README.md) 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](https://github.com/netdata/go.d.plugin/blob/master/modules/prometheus/README.md): 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)](https://github.com/netdata/go.d.plugin/blob/master/modules/weblog/README.md): - 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](https://github.com/netdata/go.d.plugin/blob/master/modules/mysql/README.md): Collect database global, - replication, and per-user statistics. -- [Redis](https://github.com/netdata/go.d.plugin/blob/master/modules/redis/README.md): Monitor database status by - reading the server's response to the `INFO` command. -- [Apache](https://github.com/netdata/go.d.plugin/blob/master/modules/apache/README.md): Collect Apache web server - performance metrics via the `server-status?auto` endpoint. -- [Nginx](https://github.com/netdata/go.d.plugin/blob/master/modules/nginx/README.md): Monitor web server status - information by gathering metrics via `ngx_http_stub_status_module`. -- [Postgres](https://github.com/netdata/go.d.plugin/blob/master/modules/postgres/README.md): Collect database health - and performance metrics. -- [ElasticSearch](https://github.com/netdata/go.d.plugin/blob/master/modules/elasticsearch/README.md): Collect search - engine performance and health statistics. Optionally collects per-index metrics. -- [PHP-FPM](https://github.com/netdata/go.d.plugin/blob/master/modules/phpfpm/README.md): Collect application summary - and processes health metrics by scraping the status page (`/status?full`). - -Our [supported collectors list](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md#service-and-application-collectors) 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](https://github.com/netdata/netdata/blob/master/packaging/installer/README.md) 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](https://github.com/netdata/netdata/blob/master/collectors/REFERENCE.md) 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](https://github.com/netdata/go.d.plugin/blob/master/modules/mysql/README.md) to look at `203.0.113.0:3306`: - -```yml -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](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md#service-and-application-collectors) that can run on Windows. - -## What's next? - -If you haven't yet seen the [supported collectors list](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md) give it a once-over for any -additional applications you may want to monitor using Netdata's native collectors, or the [generic Prometheus -collector](https://github.com/netdata/go.d.plugin/blob/master/modules/prometheus/README.md). - -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](https://github.com/netdata/netdata/blob/master/docs/visualize/overview-infrastructure.md) using Netdata Cloud. - - diff --git a/docs/collect/container-metrics.md b/docs/collect/container-metrics.md deleted file mode 100644 index b5ccca5a0..000000000 --- a/docs/collect/container-metrics.md +++ /dev/null @@ -1,101 +0,0 @@ -<!-- -title: "Collect container metrics with Netdata" -sidebar_label: "Container metrics" -description: "Use Netdata to collect per-second utilization and application-level metrics from Linux/Docker containers and Kubernetes clusters." -custom_edit_url: "https://github.com/netdata/netdata/edit/master/docs/collect/container-metrics.md" -learn_status: "Published" -learn_topic_type: "Concepts" -learn_rel_path: "Concepts" ---> - -# Collect container metrics with Netdata - -Thanks to close integration with Linux cgroups and the virtual files it maintains under `/sys/fs/cgroup`, Netdata can -monitor the health, status, and resource utilization of many different types of Linux containers. - -Netdata uses [cgroups.plugin](https://github.com/netdata/netdata/blob/master/collectors/cgroups.plugin/README.md) to poll `/sys/fs/cgroup` and convert the raw data -into human-readable metrics and meaningful visualizations. Through cgroups, Netdata is compatible with **all Linux -containers**, such as Docker, LXC, LXD, Libvirt, systemd-nspawn, and more. Read more about [Docker-specific -monitoring](#collect-docker-metrics) below. - -Netdata also has robust **Kubernetes monitoring** support thanks to a -[Helmchart](https://github.com/netdata/netdata/blob/master/packaging/installer/methods/kubernetes.md) to automate deployment, collectors for k8s agent services, and -robust [service discovery](https://github.com/netdata/agent-service-discovery/#service-discovery) to monitor the -services running inside of pods in your k8s cluster. Read more about [Kubernetes -monitoring](#collect-kubernetes-metrics) below. - -A handful of additional collectors gather metrics from container-related services, such as -[dockerd](https://github.com/netdata/go.d.plugin/blob/master/modules/docker/README.md) or [Docker -Engine](https://github.com/netdata/go.d.plugin/blob/master/modules/docker_engine/README.md). You can find all -container collectors in our supported collectors list under the -[containers/VMs](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md#containers-and-vms) and -[Kubernetes](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md#containers-and-vms) headings. - -## Collect Docker metrics - -Netdata has robust Docker monitoring thanks to the aforementioned -[cgroups.plugin](https://github.com/netdata/netdata/blob/master/collectors/cgroups.plugin/README.md). By polling cgroups every second, Netdata can produce meaningful -visualizations about the CPU, memory, disk, and network utilization of all running containers on the host system with -zero configuration. - -Netdata also collects metrics from applications running inside of Docker containers. For example, if you create a MySQL -database container using `docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag`, it exposes -metrics on port 3306. You can configure the [MySQL -collector](https://github.com/netdata/go.d.plugin/blob/master/modules/mysql/README.md) to look at `127.0.0.0:3306` for -MySQL metrics: - -```yml -jobs: - - name: local - dsn: root:my-secret-pw@tcp(127.0.0.1:3306)/ -``` - -Netdata then collects metrics from the container itself, but also dozens [MySQL-specific -metrics](https://github.com/netdata/go.d.plugin/blob/master/modules/mysql/README.md#charts) as well. - -### Collect metrics from applications running in Docker containers - -You could use this technique to monitor an entire infrastructure of Docker containers. The same [enable and configure](https://github.com/netdata/netdata/blob/master/collectors/REFERENCE.md) procedures apply whether an application runs on the host system or inside -a container. You may need to configure the target endpoint if it's not the application's default. - -Netdata can even [run in a Docker container](https://github.com/netdata/netdata/blob/master/packaging/docker/README.md) itself, and then collect metrics about the -host system, its own container with cgroups, and any applications you want to monitor. - -See our [application metrics doc](https://github.com/netdata/netdata/blob/master/docs/collect/application-metrics.md) for details about Netdata's application metrics -collection capabilities. - -## Collect Kubernetes metrics - -We already have a few complementary tools and collectors for monitoring the many layers of a Kubernetes cluster, -_entirely for free_. These methods work together to help you troubleshoot performance or availability issues across -your k8s infrastructure. - -- A [Helm chart](https://github.com/netdata/helmchart), which bootstraps a Netdata Agent pod on every node in your - cluster, plus an additional parent pod for storing metrics and managing alert notifications. -- A [service discovery plugin](https://github.com/netdata/agent-service-discovery), which discovers and creates - configuration files for [compatible - applications](https://github.com/netdata/helmchart#service-discovery-and-supported-services) and any endpoints - covered by our [generic Prometheus - collector](https://github.com/netdata/go.d.plugin/blob/master/modules/prometheus/README.md). With these - configuration files, Netdata collects metrics from any compatible applications as they run _inside_ a pod. - Service discovery happens without manual intervention as pods are created, destroyed, or moved between nodes. -- A [Kubelet collector](https://github.com/netdata/go.d.plugin/blob/master/modules/k8s_kubelet/README.md), which runs - on each node in a k8s cluster to monitor the number of pods/containers, the volume of operations on each container, - and more. -- A [kube-proxy collector](https://github.com/netdata/go.d.plugin/blob/master/modules/k8s_kubeproxy/README.md), which - also runs on each node and monitors latency and the volume of HTTP requests to the proxy. -- A [cgroups collector](https://github.com/netdata/netdata/blob/master/collectors/cgroups.plugin/README.md), which collects CPU, memory, and bandwidth metrics for - each container running on your k8s cluster. - -For a holistic view of Netdata's Kubernetes monitoring capabilities, see our guide: [_Monitor a Kubernetes (k8s) cluster -with Netdata_](https://github.com/netdata/netdata/blob/master/docs/guides/monitor/kubernetes-k8s-netdata.md). - -## What's next? - -Netdata is capable of collecting metrics from hundreds of applications, such as web servers, databases, messaging -brokers, and more. See more in the [application metrics doc](https://github.com/netdata/netdata/blob/master/docs/collect/application-metrics.md). - -If you already have all the information you need about collecting metrics, move into Netdata's meaningful visualizations -with [seeing an overview of your infrastructure](https://github.com/netdata/netdata/blob/master/docs/visualize/overview-infrastructure.md) using Netdata Cloud. - - diff --git a/docs/collect/system-metrics.md b/docs/collect/system-metrics.md deleted file mode 100644 index daaf61d72..000000000 --- a/docs/collect/system-metrics.md +++ /dev/null @@ -1,62 +0,0 @@ -<!-- -title: "Collect system metrics with Netdata" -sidebar_label: "System metrics" -description: "Netdata collects thousands of metrics from physical and virtual systems, IoT/edge devices, and containers with zero configuration." -custom_edit_url: "https://github.com/netdata/netdata/edit/master/docs/collect/system-metrics.md" -learn_status: "Published" -learn_topic_type: "Concepts" -learn_rel_path: "Concepts" ---> - -# Collect system metrics with Netdata - -Netdata collects thousands of metrics directly from the operating systems of physical and virtual systems, IoT/edge -devices, and [containers](https://github.com/netdata/netdata/blob/master/docs/collect/container-metrics.md) with zero configuration. - -To gather system metrics, Netdata uses roughly a dozen plugins, each of which has one or more collectors for very -specific metrics exposed by the host. The system metrics Netdata users interact with most for health monitoring and -performance troubleshooting are collected and visualized by `proc.plugin`, `cgroups.plugin`, and `ebpf.plugin`. - -[**proc.plugin**](https://github.com/netdata/netdata/blob/master/collectors/proc.plugin/README.md) gathers metrics from the `/proc` and `/sys` folders in Linux -systems, along with a few other endpoints, and is responsible for the bulk of the system metrics collected and -visualized by Netdata. It collects CPU, memory, disks, load, networking, mount points, and more with zero configuration. -It even allows Netdata to monitor its own resource utilization! - -[**cgroups.plugin**](https://github.com/netdata/netdata/blob/master/collectors/cgroups.plugin/README.md) collects rich metrics about containers and virtual machines -using the virtual files under `/sys/fs/cgroup`. By reading cgroups, Netdata can instantly collect resource utilization -metrics for systemd services, all containers (Docker, LXC, LXD, Libvirt, systemd-nspawn), and more. Learn more in the -[collecting container metrics](https://github.com/netdata/netdata/blob/master/docs/collect/container-metrics.md) doc. - -[**ebpf.plugin**](https://github.com/netdata/netdata/blob/master/collectors/ebpf.plugin/README.md): Netdata's extended Berkeley Packet Filter (eBPF) collector -monitors Linux kernel-level metrics for file descriptors, virtual filesystem IO, and process management. You can use our -eBPF collector to analyze how and when a process accesses files, when it makes system calls, whether it leaks memory or -creating zombie processes, and more. - -While the above plugins and associated collectors are the most important for system metrics, there are many others. You -can find all system collectors in our [supported collectors list](https://github.com/netdata/netdata/blob/master/collectors/COLLECTORS.md#system-collectors). - -## Collect Windows system metrics - -Netdata is also capable of monitoring Windows systems. The [Windows -collector](https://github.com/netdata/go.d.plugin/blob/master/modules/windows/README.md) integrates with -[windows_exporter](https://github.com/prometheus-community/windows_exporter), a small Go-based binary that you can run -on Windows systems. The Windows collector then gathers metrics from an endpoint created by windows_exporter, for more -details see [the requirements](https://github.com/netdata/go.d.plugin/blob/master/modules/windows/README.md#requirements). - -Next, [configure](https://github.com/netdata/go.d.plugin/blob/master/modules/windows/README.md#configuration) the Windows -collector to point to the URL and port of your exposed endpoint. Restart Netdata with `sudo systemctl restart netdata`, or the [appropriate -method](https://github.com/netdata/netdata/blob/master/docs/configure/start-stop-restart.md) for your system. You'll start seeing Windows system metrics, such as CPU -utilization, memory, bandwidth per NIC, number of processes, and much more. - -For information about collecting metrics from applications _running on Windows systems_, see the [application metrics -doc](https://github.com/netdata/netdata/blob/master/docs/collect/application-metrics.md#collect-metrics-from-applications-running-on-windows). - -## What's next? - -Because there's some overlap between system metrics and [container metrics](https://github.com/netdata/netdata/blob/master/docs/collect/container-metrics.md), you -should investigate Netdata's container compatibility if you use them heavily in your infrastructure. - -If you don't use containers, skip ahead to collecting [application metrics](https://github.com/netdata/netdata/blob/master/docs/collect/application-metrics.md) with -Netdata. - - |