Skip to content
BleemeoBleemeo

Services Monitoring Overview

FreeOnly availability check
StarterOnly availability check
ProfessionalAll specific metrics

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 /metrics endpoint
  • 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.

ServiceAuto-DetectionHealth CheckBuilt-inPrometheusExporterLogs
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
Infisical
InfluxDB
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

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)

You can override auto-detected service parameters using configuration files, Docker labels, or Kubernetes annotations.

Add entries to a Glouton configuration file:

service:
- type: "apache"
ignore_ports:
- 8000
- 9000
- type: "mysql"
instance: "name_of_a_container"
username: root
password: root

Each 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.

Any overridable setting can be set using the prefix glouton.:

Terminal window
docker run --label glouton.ignore_ports="8000,9000" [...]

Or as a Kubernetes pod annotation:

apiVersion: apps/v1
kind: Deployment
spec:
template:
metadata:
annotations:
glouton.ignore_ports: "8000,9000"
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

Glouton comes with built-in log configuration for: Apache, HAProxy, Kafka, MongoDB, MySQL, Nginx, PostgreSQL, RabbitMQ, Redis, and Valkey.