The only agent that thinks for itself

Autonomous Monitoring with self-learning AI built-in, operating independently across your entire stack.

Unlimited Metrics & Logs
Machine learning & MCP
5% CPU, 150MB RAM
3GB disk, >1 year retention
800+ integrations, zero config
Dashboards, alerts out of the box
> Discover Netdata Agents

Centralized metrics streaming and storage

Aggregate metrics from multiple agents into centralized Parent nodes for unified monitoring across your infrastructure.

Stream from unlimited agents
Long-term data retention
High availability clustering
Data replication & backup
Scalable architecture
Enterprise-grade security
> Learn about Parents

Fully managed cloud platform

Access your monitoring data from anywhere with our SaaS platform. No infrastructure to manage, automatic updates, and global availability.

Zero infrastructure management
99.9% uptime SLA
Global data centers
Automatic updates & patches
Enterprise SSO & RBAC
SOC2 & ISO certified
> Explore Netdata Cloud

Deploy Netdata Cloud in your infrastructure

Run the full Netdata Cloud platform on-premises for complete data sovereignty and compliance with your security policies.

Complete data sovereignty
Air-gapped deployment
Custom compliance controls
Private network integration
Dedicated support team
Kubernetes & Docker support
> Learn about Cloud On-Premises

Powerful, intuitive monitoring interface

Modern, responsive UI built for real-time troubleshooting with customizable dashboards and advanced visualization capabilities.

Real-time chart updates
Customizable dashboards
Dark & light themes
Advanced filtering & search
Responsive on all devices
Collaboration features
> Explore Netdata UI

Monitor on the go

Native iOS and Android apps bring full monitoring capabilities to your mobile device with real-time alerts and notifications.

iOS & Android apps
Push notifications
Touch-optimized interface
Offline data access
Biometric authentication
Widget support
> Download apps

The future of infrastructure observability

See our strategic direction across AI-native observability, full-stack signals, operational intelligence, and enterprise platform maturity.

AI-native observability
Full-stack signal coverage
Operational intelligence
Enterprise platform maturity
Agent releases every 6 weeks
Cloud continuous delivery
> Explore Product Roadmap

Best energy efficiency

True real-time per-second

100% automated zero config

Centralized observability

Multi-year retention

High availability built-in

Zero maintenance

Always up-to-date

Enterprise security

Complete data control

Air-gap ready

Compliance certified

Millisecond responsiveness

Infinite zoom & pan

Works on any device

Native performance

Instant alerts

Monitor anywhere

AI-native observability

Continuous delivery

Open source foundation

80% Faster Incident Resolution

AI-powered troubleshooting from detection, to root cause and blast radius identification, to reporting.

True Real-Time and Simple, even at Scale

Linearly and infinitely scalable full-stack observability, that can be deployed even mid-crisis.

90% Cost Reduction, Full Fidelity

Instead of centralizing the data, Netdata distributes the code, eliminating pipelines and complexity.

See and Map Your Entire Network

Live topology, flow analytics, and SNMP device and trap monitoring — unified with your full-stack observability.

Control Without Surrender

SOC 2 Type 2 certified with every metric kept on your infrastructure.

Integrations

800+ collectors and notification channels, auto-discovered and ready out of the box.

800+ data collectors
Auto-discovery & zero config
Cloud, infra, app protocols
Notifications out of the box
> Explore integrations
Real Results
46% Cost Reduction

Reduced monitoring costs by 46% while cutting staff overhead by 67%.

— Leonardo Antunez, Codyas

Zero Pipeline

No data shipping. No central storage costs. Query at the edge.

From Our Users
"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

No Query Language

Point-and-click troubleshooting. No PromQL, no LogQL, no learning curve.

Enterprise Ready
67% Less Staff, 46% Cost Cut

Enterprise efficiency without enterprise complexity—real ROI from day one.

— Leonardo Antunez, Codyas

SOC 2 Type 2 Certified

Zero data egress. Only metadata reaches the cloud. Your metrics stay on your infrastructure.

Full Coverage
800+ Collectors

Auto-discovered and configured. No manual setup required.

Any Notification Channel

Slack, PagerDuty, Teams, email, webhooks—all built-in.

Built for the People Who Get Paged

Because 3am alerts deserve instant answers, not hour-long hunts.

Every Industry Has Rules. We Master Them.

See how healthcare, finance, and government teams cut monitoring costs 90% while staying audit-ready.

Monitor Any Technology. Configure Nothing.

Install the agent. It already knows your stack.
From Our Users
"A Rare Unicorn"

Netdata gives more than you invest in it. A rare unicorn that obeys the Pareto rule.

— Eduard Porquet Mateu, TMB Barcelona

99% Downtime Reduction

Reduced website downtime by 99% and cloud bill by 30% using Netdata alerts.

— Falkland Islands Government

Real Savings
30% Cloud Cost Reduction

Optimized resource allocation based on Netdata alerts cut cloud spending by 30%.

— Falkland Islands Government

46% Cost Cut

Reduced monitoring staff by 67% while cutting operational costs by 46%.

— Codyas

Real Coverage
"Plugin for Everything"

Netdata has agent capacity or a plugin for everything, including Windows and Kubernetes.

— Eduard Porquet Mateu, TMB Barcelona

"Out-of-the-Box"

So many out-of-the-box features! I mostly don't have to develop anything.

— Simon Beginn, LANCOM Systems

Real Speed
Troubleshooting in 30 Seconds

From 2-3 minutes to 30 seconds—instant visibility into any node issue.

— Matthew Artist, Nodecraft

20% Downtime Reduction

20% less downtime and 40% budget optimization from out-of-the-box monitoring.

— Simon Beginn, LANCOM Systems

Pay per Node. Unlimited Everything Else.

One price per node. Unlimited metrics, logs, users, and retention. No per-GB surprises.

Free tier—forever
No metric limits or caps
Retention you control
Cancel anytime
> See pricing plans

What's Your Monitoring Really Costing You?

Most teams overpay by 40-60%. Let's find out why.

Expose hidden metric charges
Calculate tool consolidation
Customers report 30-67% savings
Results in under 60 seconds
> See what you're really paying

Your Infrastructure Is Unique. Let's Talk.

Because monitoring 10 nodes is different from monitoring 10,000.

On-prem & air-gapped deployment
Volume pricing & agreements
Architecture review for your scale
Compliance & security support
> Start a conversation

Monitoring That Sells Itself

Deploy in minutes. Impress clients in hours. Earn recurring revenue for years.

30-second live demos close deals
Zero config = zero support burden
Competitive margins & deal protection
Response in 48 hours
> Apply to partner

Per-Second Metrics at Homelab Prices

Same engine, same dashboards, same ML. Just priced for tinkerers.

Community: Free forever · 5 nodes · non-commercial
Homelab: $90/yr · unlimited nodes · fair usage
> Get the Homelab Plan

$1,000 Per Referral. Unlimited Referrals.

Your colleagues get 10% off. You get 10% commission. Everyone wins.

10% of subscriptions, up to $1,000 each
Track earnings inside Netdata Cloud
PayPal/Venmo payouts in 3-4 weeks
No caps, no complexity
> Get your referral link
Cost Proof
40% Budget Optimization

"Netdata's significant positive impact" — LANCOM Systems

Calculate Your Savings

Compare vs Datadog, Grafana, Dynatrace

Savings Proof
46% Cost Reduction

"Cut costs by 46%, staff by 67%" — Codyas

30% Cloud Bill Savings

"Reduced cloud bill by 30%" — Falkland Islands Gov

Enterprise Proof
"Better Than Combined Alternatives"

"Better observability with Netdata than combining other tools." — TMB Barcelona

Real Engineers, <24h Response

DPA, SLAs, on-prem, volume pricing

Why Partners Win
Demo Live Infrastructure

One command, 30 seconds, real data—no sandbox needed

Zero Tickets, High Margins

Auto-config + per-node pricing = predictable profit

Homelab Ready
Free Video Course

8-episode Netdata tutorial by LearnLinux.tv

76k+ GitHub Stars

3rd most starred monitoring project

Worth Recommending
Product That Delivers

Customers report 40-67% cost cuts, 99% downtime reduction

Zero Risk to Your Rep

Free tier lets them try before they buy

AI Support Assistant, Available 24/7

Nedi has access to all official documentation, source code, and resources. Ask any question about Netdata—responds in your language.

Deployment & configuration
Troubleshooting & sizing
Alerts & notifications
Evidence-based answers
> Ask Nedi now

Never Fight Fires Alone

Docs, community, and expert help—pick your path to resolution.

Learn.netdata.cloud docs
Discord, Forums, GitHub
Premium support available
> Get answers now

60 Seconds to First Dashboard

One command to install. Zero config. 850+ integrations documented.

Linux, Windows, K8s, Docker
Auto-discovers your stack
> Read our documentation

76,000+ Engineers Strong

615+ contributors. 1.5M daily downloads. One mission: simplify observability.

Per-Second. 90% Cheaper. Data Stays Home.

Side-by-side comparisons: costs, real-time granularity, and data sovereignty for every major tool.

See why teams switch from Datadog, Prometheus, Grafana, and more.

> Browse all comparisons
Edge-Native Observability, Born Open Source
Per-second visibility, ML on every metric, and data that never leaves your infrastructure.
Founded in 2016
615+ contributors worldwide
Remote-first, engineering-driven
Open source first
> Read our story
Promises We Publish—and Prove
12 principles backed by open code, independent validation, and measurable outcomes.
Open source, peer-reviewed
Zero config, instant value
Data sovereignty by design
Aligned pricing, no surprises
> See all 12 principles
Edge-Native, AI-Ready, 100% Open
76k+ stars. Full ML, AI, and automation—GPLv3+, not premium add-ons.
76,000+ GitHub stars
GPLv3+ licensed forever
ML on every metric, included
Zero vendor lock-in
> Explore our open source
Build Real-Time Observability for the World
Remote-first team shipping per-second monitoring with ML on every metric.
Remote-first, fully distributed
Open source (76k+ stars)
Challenging technical problems
Your code on millions of systems
> See open roles
Meet the Team Behind Netdata
Conferences, meetups, and tradeshows where you can see Netdata in action and talk to the engineers who build it.
Live demos and deep dives
Book 1-on-1 meetings
Talks and panel sessions
Event recaps and photos
> See all events
Talk to a Netdata Human in <24 Hours
Sales, partnerships, press, or professional services—real engineers, fast answers.
Discuss your observability needs
Pricing and volume discounts
Partnership opportunities
Media and press inquiries
> Book a conversation
Your Data. Your Rules.
On-prem data, cloud control plane, transparent terms.
Trust & Scale
76,000+ GitHub Stars

One of the most popular open-source monitoring projects

SOC 2 Type 2 Certified

Enterprise-grade security and compliance

Data Sovereignty

Your metrics stay on your infrastructure

Validated
University of Amsterdam

"Most energy-efficient monitoring solution" — ICSOC 2023, peer-reviewed

ADASTEC (Autonomous Driving)

"Doesn't miss alerts—mission-critical trust for safety software"

Community Stats
615+ Contributors

Global community improving monitoring for everyone

1.5M+ Downloads/Day

Trusted by teams worldwide

GPLv3+ Licensed

Free forever, fully open source agent

Why Join?
Remote-First

Work from anywhere, async-friendly culture

Impact at Scale

Your work helps millions of systems

$ guides / haproxy / haproxy-bandwidth-bytes-in-out

Operations Guides

HAProxy bandwidth (bin/bout): bytes in, bytes out, and capacity planning

Every row in HAProxy’s stats output carries two cumulative byte counters: bin (bytes in) and bout (bytes out). They are the ground truth for how much data actually moves through the proxy, per frontend, per backend, and per server. Most teams only look at them when a network link saturates. Used properly, they are a baseline signal, an anomaly detector, and the raw material for bandwidth capacity planning.

This article covers what the counters actually count, the direction semantics that trip up almost everyone, how to derive rates that survive reloads, how compression changes the meaning of bout, and how to turn byte rates into a bandwidth forecast.

What bin and bout measure

bin and bout are fields 8 and 9 (0-indexed) in the stats CSV, and they appear on FRONTEND, BACKEND, and SERVER rows. They are cumulative 64-bit counters that start at zero when the HAProxy process starts. bin counts bytes HAProxy reads on that interface; bout counts bytes HAProxy writes.

One nuance matters before anything else: these counters measure bytes on the wire at HAProxy’s interface, not application payload size. The practical consequence is compression, covered below.

Collect them from the runtime socket:

# Show bin/bout for every frontend, backend, and server row
echo "show stat" | socat unix-connect:/var/run/haproxy.sock stdio | \
  awk -F, '{print $1"/"$2": bytes_in="$9" bytes_out="$10}'

Because the counters are 64-bit, wraparound is not a practical concern at any realistic link speed. You still want rates derived from deltas, not raw counter values, because of reload resets (covered below).

The direction flip between frontend and backend rows

This is the most common operator trap with bin/bout. The meaning of “in” and “out” is from HAProxy’s perspective on that row, and it flips depending on which side of the proxy the row represents:

Row typebin countsbout counts
FRONTENDbytes received from clients (requests)bytes sent to clients (responses)
BACKENDbytes sent to servers (requests)bytes received from servers (responses)
SERVERsame as backend, per individual serversame as backend, per individual server

So on the frontend, bin is request traffic and bout is response traffic. On the backend, bin is still request traffic (now leaving HAProxy toward the server) and bout is still response traffic (arriving from the server). The labels reverse relative to the wire direction even though the traffic being described is the same flow.

flowchart LR
  C[Client]
  H[HAProxy]
  S[Backend server]
  C -->|"request bytes = frontend bin"| H
  H -->|"response bytes = frontend bout"| C
  H -->|"request bytes = backend bin"| S
  S -->|"response bytes = backend bout"| H

In steady state, frontend bin and backend bin grow at roughly the same rate, and frontend bout and backend bout grow at roughly the same rate, because they describe the same requests and responses crossing two interfaces. Compression breaks this symmetry on the response side (see below), and buffering can shift short windows, but a persistent unexplained divergence between the two sides is worth investigating.

Counters reset on reload: deriving rates that survive

bin and bout are per-process counters held in memory. Every reload or restart starts a new process with all counters at zero; there is no persistence across reloads. Three operational rules follow:

  • Derive rates from deltas. Bytes per second is (sample2 - sample1) / interval. Multiply by 8 for bits per second when comparing against link capacity.
  • Detect resets instead of choking on them. If a reload happens between two samples, the delta goes negative and any naive rate calculation produces garbage. Uptime_sec from show info dropping back to a small value is the reliable reload detector; gate your rate math on it.
  • Know what “clear counters” does. On the stats socket, clear counters resets only the max values (qmax, smax, rate_max, and similar). clear counters all resets everything, including the cumulative byte counters, equivalent to a restart from a monitoring perspective. Do not run it on a production proxy unless you intend to wipe baseline state.

A minimal manual rate check, if you need one during an incident:

# Bytes/sec on one frontend, two samples 10s apart (replace "web" with your proxy name)
s1=$(echo "show stat" | socat unix-connect:/var/run/haproxy.sock stdio | awk -F, '$1=="web" && $2=="FRONTEND" {print $10}')
sleep 10
s2=$(echo "show stat" | socat unix-connect:/var/run/haproxy.sock stdio | awk -F, '$1=="web" && $2=="FRONTEND" {print $10}')
echo "bout bytes/sec: $(( (s2 - s1) / 10 ))"

If the number comes back negative or absurd, a reload happened between samples; discard and re-measure. If you scrape the built-in Prometheus endpoint (HAProxy 2.0+), the same counters are exposed as haproxy_frontend_bytes_in_total, haproxy_frontend_bytes_out_total, and the backend/server equivalents, typed as counters, and rate() handles resets natively.

Ratios and baselines: where bin/bout earn their keep

Raw byte rates tell you volume. The ratios built from them tell you shape, and shape changes are where the anomalies live.

  • bout/bin ratio. For a typical web application, responses are larger than requests, so bout/bin is greater than 1 and fairly stable over time. A sudden inversion means upload traffic has overtaken download traffic: large POST/PUT bodies, backup or ingest jobs running through the proxy, media uploads, or something less benign. An inversion is not automatically an incident; it is a baseline deviation that deserves a look, and it is one of the cheaper early hints of data exfiltration through a proxied application.
  • Bytes per request. bout_rate / req_rate gives you average response size on the wire. A steady climb with flat request rates means responses are getting bigger: unbounded API payloads, missing pagination, cache misses pushing large assets through the proxy, or a frontend change that ships more bytes. This is a capacity-relevant trend long before it is an incident.
  • Zero bytes out with normal requests in. If req_rate and bin look normal but bout is near zero, backends are returning empty or near-empty responses. That is a serving anomaly, not a bandwidth one, and it is easy to miss if you only watch request rates and error counters.
  • Low throughput with high session counts. The composite Slowloris pattern in the HAProxy playbook pairs very low bin/bout throughput with high scur and low req_rate: many connections holding slots but moving almost no data. Bandwidth counters are part of that signature.

Per-server rows add one more dimension: byte distribution across servers in a backend. If one server’s bout rate is much higher than its peers at similar request counts, it is serving different (larger) content or receiving a skewed share of heavy requests, which matters for per-server egress planning.

Compression changes what bout means

When HAProxy compression is enabled, bout reflects compressed bytes on the wire, not the original payload. Two consequences:

  • Do not compute payload size from bout. If you use bout to estimate response sizes or data transfer costs while compression is active, you will systematically underestimate the original content. Use comp_in (pre-compression bytes) for the original size and comp_out (post-compression bytes) for wire size; the ratio comp_out / comp_in is the real compression ratio, and comp_byp tells you how much traffic bypassed compression entirely.
  • Frontend and backend rows report the same uncompressed byte count. HAProxy counts response bytes at the session level: both frontend and backend bout reflect what the server sent, before any compression HAProxy applies for the client (confirmed against upstream issue 2267, where a maintainer confirmed the counter reflects pre-compression bytes). Use comp_out for the compressed wire bytes; bout - comp_out is the bandwidth saving. A gap between frontend and backend bout unrelated to compression is worth investigating.

For link-capacity purposes, compressed bout is the correct number, because the wire is what saturates. For application-level analysis (payload growth, response bloat), use comp_in.

Capacity planning with bin/bout

Bandwidth capacity planning with these counters is straightforward once rates are reliable:

  1. Express byte rates as link utilization. Convert the bout delta to bits per second and compare it to the NIC link speed. On a full-duplex link, size each direction independently; bout is almost always the direction that saturates first for web workloads. Alert on sustained utilization approaching link capacity, expressed as a percentage of available bandwidth rather than an absolute number.
  2. Confirm against the OS. Correlate HAProxy’s byte rates with the host’s NIC counters (/proc/net/dev or ip -s link). HAProxy’s view and the kernel’s view should track each other; divergence means something else on the host is consuming the interface, or the proxy is not the only tenant of the link.
  3. Trend peaks, not averages. Record peak bout rate per frontend per day and trend it over weeks. Averages hide the growth; peaks are what hit the ceiling.
  4. Forecast with bytes per request. Multiply projected request-rate growth by the current bout_rate / req_rate to get projected wire-rate growth. If bytes per request is itself trending up, factor that in separately; it compounds.
  5. Plan per-server egress from server rows. Backend server bout rates show the outbound demand each backend node must sustain, which feeds directly into backend NIC and instance sizing.

Sustained bandwidth approaching link or NIC capacity is a ticket-level condition in the HAProxy monitoring playbook: not an immediate outage, but a runway problem with a hard cliff at the end, because a saturated link degrades every proxied flow at once.

Signals to correlate

SignalWhy it mattersWarning sign
bout rate as % of link capacityDirect saturation measure for the direction that fills firstSustained utilization approaching link capacity
bout/bin ratioTraffic shape baseline for the applicationSudden inversion toward upload dominance
bout_rate / req_rateAverage response size on the wireSteady climb: response bloat, cache misses, payload growth
comp_out / comp_inTrue compression ratio when compression is enabledRatio near 1.0: CPU spent compressing incompressible content
OS NIC counters vs bout rateConfirms the proxy’s view matches the wireDivergence: other traffic sharing the interface
Uptime_secDetects the reloads that reset the countersDrop to near zero: discard deltas, recompute rates

How Netdata helps

  • Automatic rate derivation. Netdata collects bin/bout per frontend, backend, and server every second and charts rates directly, so reload-induced counter resets do not produce phantom drops or require manual delta math.
  • Ratio visibility without scripting. Charting bout rate next to req_rate makes bytes-per-request and bout/bin shape changes visible at a glance, which is where the anomalies surface first.
  • Proxy-to-wire correlation. HAProxy byte rates and host NIC counters appear on the same node dashboard, so you can tell proxy traffic from everything else sharing the interface without switching tools.
  • Compression context. When compression is enabled, comp_in, comp_out, and comp_byp sit alongside bout, keeping wire bytes and payload bytes distinct instead of conflated.
  • Per-server comparison. Server-row byte rates per backend make load-distribution skew visible without querying the stats socket by hand.
The Netdata solution

HAProxy load balancer monitoring with Netdata

Netdata monitors HAProxy with per-second frontend, backend, and queue metrics plus ML-powered anomaly detection. Correlate maxconn saturation, queue buildup, health-check cascades, 5xx attribution, and file-descriptor exhaustion against the backend and host signals behind them, so you catch the incidents in these runbooks before they page anyone.