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 / apache-httpd / apache-httpd-tls-protocol-anomalies ▌

Operations Guides

Apache accepting deprecated TLS: TLS 1.0/1.1 and weak-cipher exposure

If a compliance scan flags “TLS 1.0 enabled” or “weak cipher suites supported” on an Apache vhost, the finding is almost always real. Apache’s default SSLProtocol in the 2.4 branch is all -SSLv3, so TLS 1.0 and TLS 1.1 are offered unless someone explicitly removed them. A vhost that was correct three years ago may still be accepting protocol versions that PCI DSS and modern browser policy treat as deprecated.

This is an audit and lockdown procedure, not an incident runbook: measure what the server offers, measure what clients actually negotiate, remove the deprecated surface, and verify it stays removed. The exposure is quiet. Nothing in the error log complains, traffic flows normally, and the only symptom is %{SSL_PROTOCOL}x showing TLSv1 connections you did not know you had, or an external scanner showing cipher suites you thought were gone.

What this audit captures

Three separate questions, and conflating them is how lockdowns break production:

  1. What does the server offer? The protocol versions and cipher suites in the handshake, per vhost. Answered by scanning the listener.
  2. What do clients actually negotiate? The real population of SSL_PROTOCOL and SSL_CIPHER values across your traffic. This is a log-analysis question, and it is the only safe basis for deciding when you can disable TLS 1.0/1.1 without cutting off paying clients.
  3. Adjacent legacy surface. TRACE method support (Cross-Site Tracing), TLS compression, and session ticket handling. These ride along on the same audit because they live in the same directives and the same scanner findings.

Prerequisites

  • Root or sudo on the Apache host, and permission to reload Apache (apachectl graceful). Protocol changes take effect only on reload or restart.
  • A second host (or your workstation) on the network path to run scans from. Scanning localhost is fine for a first pass but misses anything a load balancer or TLS-terminating proxy in front of Apache changes. If an LB terminates TLS, the exposure is on the LB, not Apache, and this procedure applies to the LB config instead.
  • Apache 2.4.x. Check httpd -v and openssl version together, because protocol support is a property of both. TLS 1.3 requires Apache 2.4.37 or later built against OpenSSL 1.1.1+.
  • Knowledge of which vhosts share an IP:port pair. Name-based vhosts complicate per-vhost protocol policy (see pitfalls).

Procedure

1. Scan what the server offers

Run ssl-enum-ciphers against each public vhost. This answers “what does the server offer” without touching config:

# Enumerate protocol versions and cipher suites per vhost
nmap --script ssl-enum-ciphers -p 443 www.example.com

# Force SNI if the vhost is name-based and the scan hits the wrong cert
nmap --script ssl-enum-ciphers --script-args tls.servername=www.example.com -p 443 203.0.113.10

Read the output for two things: any TLSv1.0 or TLSv1.1 section that lists ciphers (meaning the protocol is accepted), and cipher entries flagged weak (RC4, 3DES, export-grade, NULL). Older nmap versions can miss TLS 1.3 entirely, so a missing TLSv1.3 section does not prove TLS 1.3 is off; confirm with openssl.

Spot-check each protocol version directly:

# Each of these should FAIL after lockdown. Before lockdown, note which succeed.
openssl s_client -connect www.example.com:443 -tls1   </dev/null 2>&1 | grep -E "Protocol|Cipher"
openssl s_client -connect www.example.com:443 -tls1_1 </dev/null 2>&1 | grep -E "Protocol|Cipher"
openssl s_client -connect www.example.com:443 -tls1_2 </dev/null 2>&1 | grep -E "Protocol|Cipher"

A successful handshake on -tls1 or -tls1_1 confirms the finding. Two caveats:

  • On an OpenSSL 3.x client, -tls1 and -tls1_1 can fail with “no protocols available” because the client’s default security level blocks those versions regardless of what the server offers. Treat the nmap scan as the authority, or test with -cipher 'DEFAULT@SECLEVEL=0' on the client side.
  • You are testing the default vhost on that IP:port unless s_client sends the right SNI. Pass -servername www.example.com explicitly on multi-vhost IPs.

2. Log what clients actually negotiate

Add a dedicated SSL request log using mod_ssl’s environment variables:

# In server config or vhost context
LogFormat "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %>s %b" ssl_request
CustomLog logs/ssl_request_log ssl_request

Reload and let it collect. How long depends on traffic shape: a day captures business-hours clients, a week captures weekly batch jobs and cron-driven API consumers. Legacy TLS clients are often not browsers. They are old Java runtimes, embedded devices, partner integrations, and monitoring probes, and they connect on their own schedule.

3. Tally the negotiated protocols

# Distribution of negotiated protocol versions ($4 is SSL_PROTOCOL; %t splits into two fields)
awk '{print $4}' logs/ssl_request_log | sort | uniq -c | sort -rn

# Who is still on TLS 1.0 or 1.1 ($3 is the client), and what path they request ($7)
awk '$4 ~ /^TLSv1(\.1)?$/ {print $3, $7}' logs/ssl_request_log | sort | uniq -c | sort -rn | head -30

The first command sizes the problem. The second builds the migration list. Three outcomes:

  • Zero TLS 1.0/1.1 connections. Lockdown is safe. Proceed.
  • A small, identifiable set. Old scanner, one partner endpoint, an internal probe. Fix or exception-list those clients, then lock down.
  • Material volume. Disabling immediately will break clients. You now have a data-backed remediation project instead of a guess, which is the point of the log.

4. Lock down protocol versions

In the vhost (or server-wide) SSL config:

# TLS 1.2 and 1.3 only
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

Prefer the all -... form over enumerating -all +TLSv1.2 +TLSv1.3: the subtractive form does not silently exclude protocol versions added in the future. Whichever form you use, run configtest before reloading:

apachectl configtest && apachectl graceful

5. Review cipher policy

If your step 1 scan showed only strong ciphers under TLS 1.2, do not churn SSLCipherSuite without cause; the default tracks the linked OpenSSL, and aNULL, eNULL, and export ciphers have been hard-disabled since Apache 2.4.7. If you need an explicit policy, generate one from a maintained reference such as the Mozilla SSL Configuration Generator rather than hand-writing a cipher string from an old blog post.

Two directives matter regardless of the cipher list:

# Server picks the cipher, not the client (off by default)
SSLHonorCipherOrder on

# TLS compression stays off; enabling it opens the CRIME attack
SSLCompression off

TLS 1.3 ciphers are a separate namespace. TLS 1.3 cipher configuration arrived with mod_ssl’s TLS 1.3 support in Apache 2.4.37 and applies at vhost level. On older builds, OpenSSL’s built-in TLS 1.3 list applies. On supported builds, SSLCipherSuite TLSv1.3 ... sets the list separately. Do not paste a TLS 1.2 cipher string into the TLS 1.3 slot; the names are different.

6. Disable TRACE

While you are in the config, review the adjacent finding. Apache documents that enabling TRACE does not expose a vulnerability in Apache itself, but scanners commonly flag it and an application may still reflect sensitive headers; disable it when your policy requires:

# Server config context only; this does not work in .htaccess
TraceEnable Off

Verifying the lockdown

Repeat the step 1 scan and step 2 logging after the reload. Verification is the same tooling as detection:

# These handshakes must now fail (mind the OpenSSL 3.x client caveat above)
openssl s_client -connect www.example.com:443 -tls1   </dev/null 2>&1 | tail -3
openssl s_client -connect www.example.com:443 -tls1_1 </dev/null 2>&1 | tail -3

# TRACE must now be rejected (expect 405)
curl -s -o /dev/null -w "%{http_code}\n" -X TRACE https://www.example.com/

# Confirm the reload actually applied (path is /var/log/httpd on RHEL-family)
grep -E "resuming normal operations|syntax error" /var/log/apache2/error.log | tail -5

The error log check matters more than it looks: if a graceful reload silently failed, the old config with the old SSLProtocol is still running, and your scan results will be confusing. A failed graceful leaves the previous configuration live while everyone believes the new one loaded.

Keep the ssl_request_log in place after lockdown. Its ongoing value is drift detection: the day TLSv1 reappears in the tally, either a config management run reverted your change or a new vhost was added without the hardened protocol line.

Common pitfalls

  • Per-vhost SSLProtocol on shared IPs. Before Apache 2.4.42 built against OpenSSL 1.1.1, SSLProtocol was effectively global per IP:port: the first vhost’s setting applied to every name-based vhost on that listener. On 2.4.42+ with OpenSSL 1.1.1+, SNI allows per-vhost protocol policy. If you are on an older build, setting SSLProtocol inside one vhost and not another gives you false confidence. Scan every vhost on the IP.
  • Non-SNI clients hit the default vhost. Clients that do not send SNI land on the first vhost for the IP:port. Harden the default vhost first; it is the one scanners and ancient clients actually negotiate with.
  • Scanning through a load balancer. If something else terminates TLS, your nmap scan measures the LB’s policy, not Apache’s. Locking down Apache while the LB still offers TLS 1.0 accomplishes nothing, and vice versa.
  • Killing a client population you never logged. Skipping step 2 because “nobody uses TLS 1.0 anymore” is how an embedded device fleet or a partner’s Java 6 integration becomes your outage. The log is the evidence; collect it first.
  • -all without re-enabling anything. SSLProtocol -all alone disables everything including future versions. If you use the explicit form, it is -all +TLSv1.2 +TLSv1.3.
  • Leaving TLS 1.3 “unverified” because nmap did not show it. Older nmap builds miss TLS 1.3. Confirm with openssl s_client -tls1_3 before concluding anything.

Signals to monitor

SignalWhy it mattersWarning sign
%{SSL_PROTOCOL}x distribution in SSL request logOnly direct measurement of negotiated protocol versionsAny TLSv1/TLSv1.1 after lockdown; any growth before it
%{SSL_CIPHER}x distributionShows weak-cipher negotiation that version counts hideNULL, RC4, 3DES, or export ciphers appearing
Periodic external ssl-enum-ciphers scanDetects config drift, new vhosts, LB changesTLS 1.0/1.1 sections reappearing in scan output
TRACE requests in access logLegacy XST/probing review; Apache itself documents no inherent TRACE vulnerabilityAny policy-relevant TRACE; any 2xx response to TRACE
Error log after reloadsConfirms config actually appliedReload attempted without “resuming normal operations” following
TLS handshake CPU costFull handshakes are the most CPU-intensive thing Apache does; protocol changes shift resumption and handshake mixCPU climb on :443 connection rate after config changes

How Netdata helps

  • Netdata’s Apache collector tracks request rate, worker utilization, and connection counts per second, so you can see immediately whether a protocol lockdown changed traffic shape. A sudden drop in completed requests after apachectl graceful is the signature of having cut off a real client population.
  • Error-rate charts correlated against the reload timestamp distinguish “clients failing TLS negotiation” from unrelated 5xx, because TLS failures never reach the access log as requests; the visible symptom is missing throughput, not errors.
  • Per-second CPU on the Apache host lets you confirm that handshake cost did not shift unexpectedly after cipher or protocol changes, especially on hosts without HTTP/2 where each connection pays a full handshake.
  • Web log parsing of the %{SSL_PROTOCOL}x field turns the tally commands in this article into a continuous time series, which makes drift detection automatic instead of a quarterly audit.
  • Alerting on access-log gaps and throughput drops catches the dangerous failure mode of this work: Apache up, port open, and a slice of clients silently unable to complete a handshake.

Netdata’s Apache HTTP Server monitoring with Netdata brings these signals together with per-second metrics and ML anomaly detection.

The Netdata solution

Apache HTTP Server monitoring with Netdata

Netdata monitors Apache HTTP Server with per-second metrics from mod_status, pre-built dashboards, and ML-powered anomaly detection. Watch busy versus idle workers and the scoreboard state mix, requests per second, bytes served per second, and request processing duration alongside the rest of your stack, so you catch the worker-exhaustion, slow-backend, and memory incidents in these runbooks before they page anyone.