Web servers and load balancers
Web servers and load balancers
Section titled “Web servers and load balancers”Monitoring the edge — Nginx, Apache, HAProxy and Linux IPVS. Each is a shipping integration app with collection templates, repos and dashboards, following the same install-and-run pattern as the database and middleware apps.
The apps at a glance
Section titled “The apps at a glance”| app | metrics | logs | reader source |
|---|---|---|---|
| Nginx | nginx_tel |
nginx_accesslog, nginx_errorlog |
ngx_http_stub_status_module (the basic status endpoint) |
| Apache | apache_tel |
apache_access_log, apache_error_log |
mod_status (?auto) |
| HAProxy | haproxy_tel |
— | the stats socket or HTTP stats page |
| IPVS | ipvs_tel |
— | the Linux kernel’s IPVS (/proc/net/ip_vs-driven) |
Each metrics template is a 30s poll; logs are tailed by the agent. The dashboards (Nginx Overview, Apache Overview/Logs, HAProxy Overview, IPVS Overview/Virtual Servers/Real Servers) are installed with the apps, and the group paths now render under Web Servers / Load Balancing (the D7 dashboard translation).
Metrics need the status module. nginx_tel reads Nginx’s basic status
(ngx_http_stub_status_module) — the stub_status endpoint exposing active
connections, accepts/handled/requests, reading/writing/waiting. Enable the
module in nginx.conf and point ${URL} at it
(e.g. http://localhost/status). Basic auth and TLS are supported.
Access and error logs are separate collect types tailing the standard Nginx log files.
Data lands in nginx_tel (metrics), nginx_accesslog and nginx_errorlog.
Apache
Section titled “Apache”Metrics need mod_status. Enable mod_status, add an ExtendedStatus On block with a
/server-status location, restart Apache, and verify with
curl http://127.0.0.1/server-status?auto (the ?auto machine-readable
output is what the collector reads). apache_tel then polls ${URL} with
optional basic auth.
Access and error logs are separate collect types. Data lands in
app_apache_tel, app_apache_access_log, app_apache_error_log. Dashboards:
Apache Overview, Apache Logs.
HAProxy
Section titled “HAProxy”Metrics come from the stats socket or HTTP stats page. haproxy_tel reads
the HAProxy stats endpoint configured in haproxy.cfg (default
http://localhost:8404/stats or the Unix socket), with HTTP auth. It collects
per-frontend and per-backend counters: active/backup servers, sessions,
requests, response codes, connection errors, and the server weight values.
keep_field_names keeps the plugin’s field names instead of HAProxy’s
renames; single_sending emits one record per backend.
Data lands in app_haproxy_tel. Dashboard: HAProxy Overview.
Linux IPVS
Section titled “Linux IPVS”Metrics come from the kernel, not a daemon. ipvs_tel reads the Linux
kernel’s IPVS (IP Virtual Server) statistics directly — the virtual services
and their real servers. It collects per-virtual-service and per-real-server
counters: connections, packets and traffic in/out per second, active and
inactive connections. This is the load-balancing layer under a keepalived or
direct-routing setup; no daemon needs to expose anything.
Data lands in ipvs_tel. Dashboards: IPVS Overview, IPVS Virtual
Servers, IPVS Real Servers.