HAProxy observability

See every proxy.
Change nothing.

A focused, read-only dashboard for HAProxy frontends, backends and servers. One native binary, a small config file, and the visibility your fleet deserves.

✓ Read-only by design✓ Air-gap friendly✓ Native binary first
proxyglass
3 proxiesRefresh · 5s
Fleet overview

HAProxy at a glance

Updated just now
Active sessions1,284across 3 proxies
Healthy servers24 / 26↑ 92.3% available
Traffic in8.42 GBlast 24 hours
Backend

web-production

UP · 4 / 4
ServerStatusSessionsTraffic in / outLast activityLast check
web-01UP42 / 2001.8 GB / 6.2 GB12s agoLayer7 OK 200
web-02UP38 / 2001.6 GB / 5.8 GB4s agoLayer7 OK 200
web-03DOWN0 / 2000 B / 0 BNo session yetConnection refused L4
web-04UP31 / 2001.4 GB / 4.9 GB1m agoLayer7 OK 200
Illustrative dataRead-only · no HAProxy controls
Useful signal, less noise

Everything you need to see.
Nothing you can accidentally change.

Proxyglass turns HAProxy’s stats feed into an operational overview, and deliberately stops at visibility.

01

One view across your fleet

Connect to multiple HAProxy stats endpoints from one config file. Compare health and traffic without hopping between admin pages.

02

Follow the traffic path

See frontends, backends and individual servers together, with sessions, byte counters, status and health-check details.

03

Find the last activity

Check each server’s last session and health check. Spot stale or unhealthy pool members before they surprise you.

04

Your view, your way

Filter by proxy, frontend, backend or server. Sort the data and keep your preferred refresh interval in a browser cookie.

05

No control-plane surprises

Proxyglass only reads stats. There are no buttons or API calls to disable, drain or otherwise change HAProxy state.

06

Works without the internet

The UI assets ship with the binary. No CDN, hosted fonts or third-party runtime calls are needed to open the dashboard.

07

Tokens or OIDC sign-in

Use locally generated bearer tokens or connect an OIDC provider. An optional group allow-list keeps access aligned with your identity provider.

08

Native install is the default

Run a static Linux binary under systemd with config and environment in familiar /etc locations. No container platform is required.

09

Container when it fits

Use the optional image and Nomad example if that is how your infrastructure is operated. The same config and read-only behavior apply.

A small, simple setup

From stats endpoint
to clear picture.

Proxyglass sits alongside HAProxy, polls its read-only CSV stats endpoint, and serves the dashboard to your team.

  1. 1
    Expose HAProxy stats

    Use a dedicated read-only account and the ;csv stats endpoint.

  2. 2
    List your proxies

    Put endpoint URLs and credentials in Proxyglass’ config file.

  3. 3
    Run and observe

    Start the binary, sign in, and filter the parts of the fleet you need.

config.ymlYAML
# Proxyglass listens behind your existing nginx
server:
  listen: "127.0.0.1:8080"
  default_refresh: 5 # 0 disables refresh

targets:
  - name: edge-01
    url: https://edge-01/stats;csv
    username: stats-reader
    password: <secret>
  - name: edge-02
    url: https://edge-02/stats;csv
Read-only stats · Basic Auth supported
Your infrastructure, your choice

Native first.
Container when it fits.

Proxyglass is a small Go service, not a platform you have to operate.

Recommended

Native binary + systemd

Install a static Linux binary, create a service account, and let systemd keep the dashboard running. Nginx remains responsible for TLS.

  • Linux amd64 and arm64 builds
  • Config in /etc/proxyglass/
  • Optional DEB and RPM release packages
One service. No Node.js runtime.

Container + Nomad

Prefer containers? Use the same config in a Docker image and schedule it as a small Nomad service.

  • Read-only HAProxy polling
  • Health endpoint for service checks
  • Persistent token storage is your choice
Same app. Same config. Optional runtime.

Air-gap friendly by default. Dashboard JavaScript, styles and logos are bundled locally. For OIDC or external HAProxy targets, standard proxy environment variables are supported.

Clear visibility. No control buttons.

Know what your proxies
are doing.

Start with one HAProxy stats URL. Add the rest when you’re ready.

Get Proxyglass Or start with the config example ↑Proxyglass is read-only by design.