NATS
Bleemeo monitors the NATS messaging server through automatic service detection and built-in metrics gathered from the monitoring endpoint.
Auto-Detection
Section titled “Auto-Detection”Glouton automatically detects NATS instances running on the host. To enable metrics collection, you must enable the NATS monitoring endpoint. See NATS Server Monitoring for details.
By default, Glouton assumes the monitoring endpoint runs on port 8222. If the auto-detected parameters are incorrect, you can override them manually.
sudo tee /etc/glouton/conf.d/99-nats.conf > /dev/null << 'EOF'service: # For a NATS running outside a container - type: "nats" address: "127.0.0.1" port: 4222 stats_port: 8222
# For an additional NATS running outside a container - type: "nats" instance: "NAME_ASSOCIATED_WITH_YOUR_ADDITIONAL_SERVICE" address: "127.0.0.1" port: 4222 stats_port: 8222
# For a NATS running in a Docker container - type: "nats" instance: "CONTAINER_NAME" port: 4222 stats_port: 8222EOFCreate or edit C:\ProgramData\glouton\conf.d\99-nats.conf:
service: # For a NATS running outside a container - type: "nats" address: "127.0.0.1" port: 4222 stats_port: 8222
# For an additional NATS running outside a container - type: "nats" instance: "NAME_ASSOCIATED_WITH_YOUR_ADDITIONAL_SERVICE" address: "127.0.0.1" port: 4222 stats_port: 8222
# For a NATS running in a Docker container - type: "nats" instance: "CONTAINER_NAME" port: 4222 stats_port: 8222Built-in Metrics
Section titled “Built-in Metrics”| Metric | Description |
|---|---|
service_status | Status of NATS |
nats_uptime | Time since the NATS server started in nanoseconds |
nats_routes | Number of registered routes |
nats_slow_consumers | Number of slow consumers |
nats_subscriptions | Number of active subscriptions |
nats_in_bytes | Amount of incoming bytes |
nats_out_bytes | Amount of outgoing bytes |
nats_in_msgs | Number of incoming messages |
nats_out_msgs | Number of outgoing messages |
nats_connections | Number of currently active clients |
nats_total_connections | Total number of created clients |
Monitoring Troubleshooting
Section titled “Monitoring Troubleshooting”See Troubleshoot a Service Check or Missing Metrics for what applies to every service: finding the address and port Glouton really uses, what each check message means, and how to read the collection error — which does not appear in the agent logs at the default level.
The Service Check is not OK
Section titled “The Service Check is not OK”The check only opens the TCP port — it sends no command — so it fails when the
port is wrong (Connection refused), when a firewall drops the packets
(connection timed out after 10 seconds), or when the configured address
cannot be parsed (Invalid TCP address). A green check proves the port is
open, and nothing more.
Metrics are Missing
Section titled “Metrics are Missing”A passing check says nothing about the metrics: they are collected separately.
Metrics come from the NATS monitoring endpoint, on a different port than
the client port: stats_port if set, otherwise 8222.
Reproduce what Glouton does, from the machine where the agent runs:
curl -s http://127.0.0.1:8222/varz | head -5| What you see | Cause | Fix |
|---|---|---|
| a connection error on port 8222 | The monitoring endpoint is not enabled | Set http_port: 8222 in the NATS configuration and restart the server |
| a connection error | The monitoring endpoint is on another port | Set stats_port to match |
| a connection error | The endpoint is bound to another address | Bind it to an address the agent can reach |
| a TLS error | Monitoring is served over HTTPS (https_port) |
Glouton fetches it over plain HTTP; expose http_port on 127.0.0.1 |