Services Monitoring Overview
Glouton automatically discovers services running on your system and monitors them. Each service page displays badges indicating the supported monitoring capabilities:
- Auto-Detection — Glouton detects the service by its listening port or process
- Health Check — Glouton verifies the service is responding correctly
- Built-in Metrics — Glouton collects metrics natively (e.g., Redis INFO, MySQL status variables)
- Prometheus Metrics — Glouton scrapes the service’s native
/metricsendpoint - Exporter Metrics — Metrics collected via a third-party Prometheus exporter
- Logs — Glouton collects and parses the service’s log files
If your service is not listed, you can define a custom check or a custom metric. To disable metrics for a service, see service_ignore_metrics.
Supported Services
Section titled “Supported Services”| Service | Auto-Detection | Health Check | Built-in | Prometheus | Exporter | Logs |
|---|---|---|---|---|---|---|
| Apache HTTP | ✓ | ✓ | ✓ | — | — | ✓ |
| Asterisk | ✓ | — | — | — | ✓ | — |
| Authentik | — | — | — | ✓ | — | — |
| BIND | ✓ | — | — | — | ✓ | — |
| Bitbucket | ✓ | — | ✓ | — | — | — |
| Caddy | — | — | — | ✓ | — | — |
| Cassandra | ✓ | — | ✓ | — | — | — |
| ClickHouse | — | — | — | ✓ | — | — |
| CockroachDB | — | — | — | ✓ | — | — |
| Confluence | ✓ | — | ✓ | — | — | — |
| Consul | — | — | — | ✓ | — | — |
| CoreDNS | — | — | — | ✓ | — | — |
| Couchbase | — | — | — | ✓ | — | — |
| CouchDB | — | — | — | ✓ | — | — |
| Dovecot | ✓ | ✓ | — | — | ✓ | — |
| ejabberd | ✓ | — | — | ✓ | — | — |
| Elasticsearch | ✓ | ✓ | ✓ | — | — | — |
| Emissary-ingress | — | — | — | ✓ | — | — |
| Envoy | — | — | — | ✓ | — | — |
| etcd | — | — | — | ✓ | — | — |
| Exim4 | ✓ | ✓ | ✓ | — | — | — |
| Fail2ban | ✓ | — | ✓ | — | — | — |
| Forgejo | — | — | — | ✓ | — | — |
| FreeRADIUS | ✓ | — | — | — | ✓ | — |
| Gitea | — | — | — | ✓ | — | — |
| GitLab | — | — | — | ✓ | — | — |
| HAProxy | ✓ | — | ✓ | ✓ | — | ✓ |
| InfluxDB | ✓ | ✓ | — | ✓ | — | — |
| Infisical | — | — | — | ✓ | — | — |
| Jenkins | ✓ | — | ✓ | — | — | — |
| JIRA | ✓ | — | ✓ | — | — | — |
| Kafka | ✓ | — | ✓ | — | — | ✓ |
| libvirtd | ✓ | — | — | — | ✓ | — |
| Memcached | ✓ | ✓ | ✓ | — | — | — |
| MinIO | — | — | — | ✓ | — | — |
| MongoDB | ✓ | — | ✓ | — | — | ✓ |
| Mosquitto | ✓ | — | — | — | ✓ | — |
| MySQL / MariaDB | ✓ | — | ✓ | — | — | ✓ |
| NATS | ✓ | — | ✓ | — | — | — |
| NFS | ✓ | — | ✓ | — | — | — |
| NSQ | — | — | — | — | ✓ | — |
| Nginx | ✓ | ✓ | ✓ | — | — | ✓ |
| NTP | ✓ | ✓ | — | — | ✓ | — |
| OpenLDAP | ✓ | — | ✓ | — | — | — |
| OpenVPN | ✓ | — | — | — | ✓ | — |
| PHP-FPM | ✓ | — | ✓ | — | — | — |
| Postfix | ✓ | ✓ | ✓ | — | — | — |
| PostgreSQL | ✓ | — | ✓ | — | — | ✓ |
| PowerDNS | — | — | — | ✓ | — | — |
| RabbitMQ | ✓ | ✓ | ✓ | — | — | ✓ |
| Redis | ✓ | ✓ | ✓ | — | — | ✓ |
| RethinkDB | — | — | — | — | ✓ | — |
| Riak | — | — | — | — | ✓ | — |
| RustFS | — | — | — | ✓ | — | — |
| Salt | ✓ | — | — | — | — | — |
| Squid | ✓ | ✓ | — | — | ✓ | — |
| Traefik | — | — | — | ✓ | — | — |
| UPSD | ✓ | — | ✓ | — | — | — |
| uWSGI | ✓ | — | ✓ | — | — | — |
| Valkey | ✓ | ✓ | ✓ | — | — | ✓ |
| Varnish | ✓ | — | — | — | ✓ | — |
| Vault | — | — | — | ✓ | — | — |
| ZooKeeper | ✓ | ✓ | ✓ | — | — | — |
Common Features
Section titled “Common Features”Service Status
Section titled “Service Status”Glouton checks TCP sockets for each service. By default, a simple TCP connection tests the service, but some services support a specific health check. These checks run every minute. For TCP services, Glouton keeps a connection open and re-checks immediately if that connection breaks.
The current status can be viewed in the Status Dashboard, and you can configure a notification to be alerted on status changes.
The status history is stored in a metric named service_status with two labels:
service: the type of service (e.g., “apache”, “nginx”)service_instance: the container name (absent for non-containerized services)
Status values:
- 0 — check passed successfully
- 1 — check passed with a warning (e.g., Apache returned a 404)
- 2 — check detected an issue
- 3 — check status unknown (typically due to a timeout)
Overriding Auto-Detection Settings
Section titled “Overriding Auto-Detection Settings”You can override auto-detected service parameters using configuration files, Docker labels, or Kubernetes annotations.
Configuration File
Section titled “Configuration File”Add entries to a Glouton configuration file:
service: - type: "apache" ignore_ports: - 8000 - 9000 - type: "mysql" instance: "name_of_a_container" username: root password: rootEach service is identified by the type and instance pair. The type must match
a supported service name (“apache”, “nginx”, “postgresql”, etc.).
The instance is the container name — omit it for non-containerized services.
Docker Labels / Kubernetes Annotations
Section titled “Docker Labels / Kubernetes Annotations”Any overridable setting can be set using the prefix glouton.:
docker run --label glouton.ignore_ports="8000,9000" [...]Or as a Kubernetes pod annotation:
apiVersion: apps/v1kind: Deploymentspec: template: metadata: annotations: glouton.ignore_ports: "8000,9000"Available Settings
Section titled “Available Settings”| Setting | Description | Supported Services |
|---|---|---|
address | IP address the service listens on | All |
port | TCP port the service listens on | All |
ignore_ports | List of ports to exclude from auto-detection | All |
tags | List of tags to associate with the service | All |
interval | Check interval in seconds (minimum 60) | All |
http_path | Custom HTTP path for health check | Apache, InfluxDB, Nginx, Squid |
http_status_code | Expected HTTP status code | Apache, InfluxDB, Nginx, Squid |
http_host | HTTP Host header for virtual hosts | Apache, InfluxDB, Nginx, Squid |
username, password | Authentication credentials | Jenkins, MySQL, OpenLDAP, PostgreSQL, RabbitMQ, UPSD |
stats_url | URL for metrics endpoint | HAProxy, Jenkins, PHP-FPM |
stats_port | Port for metrics endpoint | NATS, RabbitMQ, uWSGI |
stats_protocol | Protocol for metrics endpoint | uWSGI |
metrics_unix_socket | Unix socket path for metrics | MySQL |
detailed_items | Items for per-item metrics | PostgreSQL, Cassandra, Kafka |
included_items, excluded_items | Include/exclude items | Jenkins |
jmx_port, jmx_username, jmx_password | JMX configuration | Java services |
ssl, ssl_insecure, starttls | TLS settings | OpenLDAP |
ca_file, cert_file, key_file | TLS certificate paths | OpenLDAP |
check_type, match_process, check_command | Custom check config | Custom checks |
nagios_nrpe_name | Expose check to Nagios via NRPE | All |
log_files, log_format, log_filter | Log collection settings | Services with log support |
Services with Default Log Support
Section titled “Services with Default Log Support”Glouton comes with built-in log configuration for: Apache, HAProxy, Kafka, MongoDB, MySQL, Nginx, PostgreSQL, RabbitMQ, Redis, and Valkey.