Automated Checks
Insights continuously monitors your NATS deployment to surface operational issues and optimization opportunities — before they become incidents.
Featured Checks
Critical checks that catch the most common production issues.
server-001criticalConnection Readiness Failure
Flags servers reporting connection readiness failures via the healthz endpoint, or reporting unhealthy with no error detail.
server-004warningSlow Consumers
Flags servers with new slow consumer events since the previous epoch.
server-021warningGateway Disconnection
Flags servers that lost their connection to a remote cluster since the previous epoch. Links are tracked by server and remote cluster name, so a reconnect that gets a new gateway ID does not count as a loss. A server whose monitoring endpoints did not answer in the current epoch is not flagged.
stream-007criticalStream Quorum Lost
Flags replicated streams where enough replicas are offline to lose quorum. Offline replicas are counted from the stream leader's report, so a stream left with no leader is not flagged here, and server-044 reports its leaderless Raft group.
system-007warningMeta Quorum Lost
Reports critical when peers reported offline leave the meta group below quorum. Reports warning when the group had a leader earlier but none appears in the two most recent scrapes. Missing JSZ responses can also cause the warning, and it doesn't mean every peer is offline.
service-002warningService Down
Flags services that were present in an account's previous complete subscription snapshot and missing from the next complete one. Partial or unknown snapshots are skipped.
All Checks
Filter and sort to find specific checks. How do checks work? Learn more.
| Description | |||||
|---|---|---|---|---|---|
| account-001 | Account Connection Limit | warning | Account | operational | Flags accounts whose connections, summed across every server that reports them, exceed a configured share of the limit. The limit applies to the account as a whole, so an account spread over many servers is judged on its total. |
| account-002 | Slow Consumers | warning | Account | operational | Flags accounts with new slow consumer events since each server's previous observation, aggregated across servers. A counter reset or a server's first observation counts as no new events. |
| account-003 | Inactive or Unresolved JWT Import | warning | Account | operational | Flags inactive JWT imports, and duplicate import declarations where the scrape can't tell which one activated the import. Each finding names the likely cause, such as a missing or expired activation token, a token signed by a rotated signing key, or a missing source export. |
| account-004 | Orphaned Export | info | Account | operational | Flags exports in non-system accounts with no matching importer in any account. An import matches when it names this account as its source, has the same type, and its subject is fully covered by the export subject, using NATS wildcard matching. |
| account-005 | No Subscription Interest | info | Account | operational | Flags active stream imports into non-system accounts that no current subscription in the importing account matches, using NATS wildcard subject matching. A remapped import is matched on its local subject. Inactive imports are reported by account-003. Accounts without a complete current subscription snapshot are skipped, so partial or unknown subscription data never counts as no interest. |
| account-006 | Account Subscription Limit | warning | Account | operational | Flags accounts with an open client or leafnode connection near the account's subscription limit. NATS applies this limit to each connection separately, so subscriptions on different connections are never added together. A lower user or server subscription limit can cap a connection before it reaches the account limit. |
| account-007 | Account Storage Quota Approaching Limit | warning | Account | optimization | Flags accounts whose file-stream JetStream reservations (max_bytes) are near the disk quota in any limit set. Untiered quotas count max_bytes once per replica, and an Rn tier counts max_bytes once for each stream in that tier. A stream without a leader still holds its reservation. Actual storage use is covered by a separate check. |
| account-008 | Excessive Account Claims Size | info | Account | optimization | Flags accounts whose decoded claims JSON exceeds the configured byte threshold. The measured value is the stored JSON representation, not the signed JWT's wire size. |
| account-009 | Inactive Account | info | Idle Resources | optimization | Flags non-system accounts that are currently reported but have had no client connections, leaf connections or byte counter increases for longer than the inactivity threshold. A byte counter that decreases also counts as activity, since the account may have been removed and re-registered. An account must have been observed for at least the threshold before it can be flagged. |
| account-011 | Cross-Cluster Stream Access | info | Placement | optimization | Flags accounts with clients in a cluster that leads none of the account's streams, when the account does lead streams in another cluster. Both floors keep a few stray clients from turning into placement advice. |
| account-012 | High Gateway Traffic Ratio | info | Placement | optimization | Reports the share of an account's bytes that crossed gateways in the selected window. Each server measures from its own previous scrape, which can fall before the window starts. A counter reset adds no traffic for that interval. |
| account-013 | Unlimited JetStream Account | info | System Improvement | optimization | Flags non-system JetStream accounts whose JWT leaves memory or disk storage unlimited in any limit set, for a storage class at least one server offers. Each tier of a tiered JWT is checked separately, and a class limited to zero counts as disabled. Accounts without a JWT are not checked. |
| account-014 | Gateway Interest Mode | info | Placement | optimization | Flags accounts still using optimistic interest mode on a gateway to a remote cluster. Reports from every local server are combined into one finding per account and remote cluster. |
| connection-001 | High Client RTT | warning | Connection | operational | Flags open client connections whose round-trip time exceeds the RTT threshold. |
| connection-002 | Client Pending Pressure | warning | Connection | operational | Flags client connections whose queued outbound bytes exceed a percentage of the server's max_pending. The server closes a connection as a slow consumer once its queue reaches max_pending, and past three quarters of it the server stalls publishers sending to that client. |
| connection-003 | Connection Stopped | info | Connection | operational | Flags connections closed for an abnormal reason. Graceful client closes ('Client Closed') and planned server shutdowns ('Server Shutdown') are excluded. |
| connection-004 | Idle Client Connections | info | Idle Resources | optimization | Flags client connections idle for longer than the idle threshold that have never sent or received a message. |
| consumer-001 | Consumer Replica Offline | warning | Consumer | operational | Flags consumer replicas that are reported as offline. |
| consumer-002 | Consumer Replica Lag | warning | Consumer | operational | Flags online consumer replicas lagging behind the leader by more than the maximum allowed number of operations. Offline replicas are reported by consumer-001. |
| consumer-003 | Consumer Quorum Lost | critical | Consumer | operational | Flags replicated consumers with enough replicas offline to lose quorum. The replica count comes from the reported peer set, so consumers that inherit their replica count from the stream (num_replicas 0) are included. When the consumer leader is offline no replica rows are reported, so that quorum loss is not flagged. |
| consumer-004 | Consumer Delivered Below Stream First Sequence | info | Consumer | operational | Reports consumers with delivery history whose reported stream position is more than one sequence below the stream's current first sequence. |
| consumer-005 | Consumer Sequence Ahead of Stream Sequence | info | Consumer | operational | Flags consumers with delivery history whose reported stream position is ahead of the parent stream's observed last sequence. |
| consumer-006 | Outstanding Ack Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true where num_ack_pending on the leader is at or above the operator-defined io.nats.monitor.outstanding-ack-critical threshold. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-007 | Waiting Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true where num_waiting on the leader is at or above the operator-defined io.nats.monitor.waiting-critical threshold. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-008 | Unprocessed Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true where num_pending on the leader is at or above the operator-defined io.nats.monitor.unprocessed-critical threshold. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-009 | Last Delivery Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true whose last delivery, as reported by the leader, is at least as old as the io.nats.monitor.last-delivery-critical threshold, or that report no delivery timestamp. The threshold is a duration such as 30s or 5m. Zero or less disables the check. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-010 | Last Ack Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true whose last acknowledgement, as reported by the leader, is at least as old as the io.nats.monitor.last-ack-critical threshold, or that report no acknowledgement timestamp. The threshold is a duration such as 30s or 5m. Zero or less disables the check. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-011 | Redelivery Critical | critical | Consumer | operational | Flags consumers with io.nats.monitor.enabled set to true where num_redelivered on the leader is at or above the operator-defined io.nats.monitor.redelivery-critical threshold. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-012 | Pinned Consumer Policy Mismatch | warning | Consumer | operational | Flags consumers with io.nats.monitor.enabled and io.nats.monitor.pinned set to true that are not using the pinned_client priority policy, so the declared client pinning is not in effect. Invalid monitor metadata skips the consumer (see consumer-020). |
| consumer-013 | Inactive Consumer | info | Idle Resources | optimization | Flags consumers whose last delivered stream sequence is unchanged between the earliest and latest observations in the time range. Requires at least two samples in the range, the latest at the current epoch. |
| consumer-014 | Drained Consumer | info | Idle Resources | optimization | Flags consumers with nothing pending delivery or acknowledgement at the current epoch, on a stream whose last sequence didn't change across at least two samples in the window. |
| consumer-016 | High Consumer Redelivery | warning | System Improvement | optimization | Flags consumers whose current count of messages tracked for redelivery is high compared with delivery attempts in the window. Tracked messages can predate the window or have exhausted max_deliver, so the ratio is not the share of attempts that were redeliveries. Requires at least 100 delivery attempts in the window. |
| consumer-017 | Ack Pending Buildup | warning | System Improvement | optimization | Flags consumers approaching their maximum ack pending limit. At the limit, the server stops delivering until acks catch up. Consumers with unlimited max_ack_pending are skipped. |
| consumer-018 | Unbound Push Consumer | info | System Improvement | optimization | Flags push consumers with no subscriber currently bound. |
| consumer-019 | Consumer ACK Floor Divergence | info | System Improvement | optimization | Flags consumers whose consumer-sequence gap between delivered position and ACK floor is a large multiple of max_ack_pending, or exceeds an absolute threshold. The gap includes redeliveries and messages already acknowledged above the floor, so it is not the outstanding message count. |
| consumer-020 | Invalid Consumer Monitor Metadata | warning | Consumer | operational | Flags consumers with invalid values for recognized io.nats.monitor metadata keys. Any invalid key stops every monitor threshold check on that consumer, so this reports a configuration error rather than a threshold breach. |
| leafnode-001 | Leafnode Name Whitespace | info | Leafnode | operational | Flags leafnode connections whose remote server name contains whitespace. Whitespace makes the name hard to use in commands and to match across logs. |
| leafnode-002 | High Leaf RTT | warning | Leafnode | operational | Flags leafnode connections with round-trip time exceeding the threshold. |
| leafnode-003 | Leafnode Subscription Count High | warning | Leafnode | operational | Flags leafnode connections carrying more subscriptions than the warning threshold. The hub processes those subscriptions when the leaf connects, and if that takes longer than the 2-second leafnode connect timeout, the connection drops and retries in a loop. |
| leafnode-004 | Leaf Compression Disabled | info | System Improvement | optimization | Flags leaf connections reporting compression off after negotiation. Compression reduces bandwidth between leaf and hub. |
| server-001 | Connection Readiness Failure | critical | Server | operational | Flags servers reporting connection readiness failures via the healthz endpoint, or reporting unhealthy with no error detail. |
| server-002 | Server Version Mismatch | info | Server | operational | Identifies servers running a different software version than the cluster majority. Unclustered servers are compared as one group. On an even split, the lexically higher version string counts as the majority. |
| server-003 | High CPU Usage | warning | Server | operational | Flags servers where per-core CPU usage exceeds the CPU threshold. |
| server-004 | Slow Consumers | warning | Server | operational | Flags servers with new slow consumer events since the previous epoch. |
| server-005 | JetStream Memory Pressure | warning | Server | operational | Flags servers whose JetStream memory usage is approaching the configured max_memory limit, where writes to memory-backed streams are rejected. Severity rises to critical near the limit. |
| server-007 | Authentication Not Required | info | Server | operational | Flags servers that do not require client authentication. It misses a server with no_auth_user configured, which accepts clients without credentials as a default user while still reporting auth_required=true. That setting is not scraped, so this check cannot see it. |
| server-008 | Unexpected Server Restart | warning | Server | operational | Flags servers that restarted without a version upgrade or configuration change, and escalates when restarts repeat. Start times are compared across epochs by cluster and server name, since a restart mints a new server ID. A boot whose version or configuration digest differs from what the previous run last reported is treated as planned, as is a rollback. A server that reports no configuration digest is judged on version alone. The digest covers the config after includes and environment variables are resolved, so a value that changes every boot (such as a pod IP in client_advertise) makes every restart look planned and silences this check for that server. |
| server-010 | High Route RTT | info | Server | operational | Flags a route whose round-trip time to a cluster peer is well above what the rest of the cluster sees. Routes are compared within their cluster, so a cluster whose routes are all slow is not reported. The average excludes the reporting server's own routes, so a server with uniformly slow routes does not raise its own baseline. |
| server-011 | Connection Count High | warning | Server | operational | Flags servers where active connections approach the configured maximum. Critical means the server has almost no connection slots left, and at its cap it refuses new clients. max_connections defaults to 65536, so the check rarely fires unless a lower limit is set. |
| server-012 | Stale Connections | info | Server | operational | Flags servers with new stale connection events since the previous epoch. |
| server-013 | Stalled Clients | warning | Server | operational | Flags servers with new stalled client events since the previous epoch. |
| server-014 | JetStream Subsystem Not Ready | warning | Server | operational | Flags a server that cannot serve JetStream because JetStream is disabled in its configuration or its meta layer is still recovering. Disabled is critical from the first scrape. Recovering is a warning, and turns critical once it has been reported on every scrape for longer than the sustain window. Other JetStream health problems are reported by checks that name the Raft group. |
| server-015 | JetStream Asset Configuration Rejected | critical | Server | operational | Flags a stream or consumer whose configuration the cluster refused. The asset does not exist on this server and will not appear until the configuration changes, so unlike most health findings this one does not clear on its own. |
| server-016 | Account Resolution Failure | warning | Server | operational | Flags servers that could not resolve a JetStream account. The finding names the account, which does not appear in the account inventory because it was never resolved. |
| server-018 | High Gateway RTT | warning | Server | operational | Flags gateway connections whose round-trip time is far worse than other servers' links from the same cluster to the same remote cluster. A cluster pair whose links are all slow is not reported. A link is only compared when another server in the same cluster has a link to the same remote cluster, and servers without a cluster name are skipped. |
| server-019 | JetStream Storage vs Configured Limit | warning | Server | operational | Flags servers where JetStream storage usage approaches the configured max_store limit, escalating to critical near the configured limit. |
| server-020 | Connection Count Change | warning | Cluster | operational | Flags servers whose connected-client count rose or fell sharply between epochs. A restarted server starts a new baseline, so the connections it drops on restart are not flagged on that server. |
| server-021 | Gateway Disconnection | warning | Cluster | operational | Flags servers that lost their connection to a remote cluster since the previous epoch. Links are tracked by server and remote cluster name, so a reconnect that gets a new gateway ID does not count as a loss. A server whose monitoring endpoints did not answer in the current epoch is not flagged. |
| server-022 | Gateway Config Mismatch | warning | Cluster | operational | Flags servers whose set of gateway connections differs from the cluster majority. The majority set must be held by more than half of the cluster's servers with gateways, and at least 3 must have gateways. A server with no gateway connections is not compared. |
| server-023 | Config Reload Detected | info | Change | operational | Detects servers whose configuration was reloaded by comparing config_load_time with the server's own previous value. A restart is not a reload and is covered by server-008. |
| server-024 | JetStream Domain Changed | warning | Change | operational | Flags a server whose JetStream domain differs from the value it last reported. Changing the domain requires a restart, which gives the server a new pk, so the comparison is matched by server name. |
| server-025 | JS API Pending High | warning | JetStream | operational | Flags servers where JetStream API inflight requests exceed the threshold. |
| server-028 | JS API Error Rate High | warning | JetStream | operational | Flags servers where JetStream API errors exceed a percentage of total requests. |
| server-030 | Meta Pending High | warning | Meta Cluster | operational | Flags when a server queues more JetStream CRUD and info requests than the configured threshold. |
| server-031 | Uneven Leader Distribution | info | Balance | optimization | Flags servers hosting disproportionately many stream and consumer leaders. Only JetStream servers in a named cluster are counted, and a server that answered only STATSZ is left out of the comparison entirely. |
| server-032 | Connection Hotspot | info | Balance | optimization | Flags servers with more than double the cluster average connections. |
| server-033 | Subscription Hotspot | info | Balance | optimization | Flags servers with more than double the cluster average subscriptions. |
| server-034 | Stream Replica Count Imbalance | info | Balance | optimization | Flags servers hosting disproportionately many stream replicas, which concentrates storage I/O and memory on a few servers. Only JetStream servers in a named cluster are counted, and a server that answered only STATSZ is left out of the comparison entirely. |
| server-035 | JetStream Storage Skew | info | Balance | optimization | Flags servers whose JetStream storage exceeds double the cluster average. |
| server-036 | Account Connection Concentration | info | Balance | optimization | Flags servers hosting more than 70% of an account's open client connections within their cluster. An account connected through fewer than 3 of the cluster's servers is not evaluated. |
| server-037 | JetStream Storage Saturation with Skew | warning | Balance | optimization | Flags servers near their configured max_store JetStream storage limit in a cluster whose storage is also unevenly spread across servers. |
| server-038 | Wasted JetStream Memory Reservation | info | Cost | optimization | Flags servers where JetStream memory usage is below the minimum utilization of reserved capacity. |
| server-039 | Wasted JetStream Storage Reservation | info | Cost | optimization | Flags servers where JetStream storage usage is below the minimum utilization of reserved capacity. |
| server-040 | Underutilized Server | info | Idle Resources | optimization | Flags servers that remained nearly idle across the selected time range. |
| server-041 | Route Pending Pressure | info | System Improvement | optimization | Flags route connections with more pending data than the pending threshold. |
| server-042 | Gateway Pending Pressure | info | System Improvement | optimization | Flags gateway connections with more pending data than the pending threshold. |
| server-043 | Raft Apply Lag | warning | System Improvement | optimization | Flags Raft groups where applied entries trail committed entries by more than the maximum allowed lag. Committed entries take effect only once applied. Members that are catching up are excluded, and server-048 reports sustained catch-up. |
| server-044 | Leaderless Raft Group | critical | System Improvement | optimization | Flags a Raft group that has had a leader before and now reports none. A leaderless group cannot accept writes. This happens during an election or a sustained loss of quorum. |
| server-045 | Raft IPQ Backpressure | warning | System Improvement | optimization | Flags a Raft group whose internal queue lengths exceed the threshold, a sign of a processing backlog. |
| server-046 | Subscription Fanout Anomaly | info | System Improvement | optimization | Flags servers where max fanout is disproportionately higher than average fanout. |
| server-047 | Subscription Churn | info | System Improvement | optimization | Flags servers with excessive subscription insert and remove operations since their own previous observation. |
| server-048 | Raft Sustained Catching Up | info | System Improvement | optimization | Flags a Raft group member catching up to its leader. Catch-up usually finishes between scrapes, so a single sighting is info. A member still catching up on every scrape for longer than the sustain window is a warning, since it cannot serve as a failover target and may not keep pace with the group. |
| server-050 | Subscription Count Growth | info | System Improvement | optimization | Flags servers whose subscription count grows steadily while the connection count ends within 5% of where it started, a sign of a subscription leak. Most reliable on a single server, because on clustered or leaf node servers the count also includes remote interest. |
| server-051 | Raft WAL Size Excessive | warning | System Improvement | optimization | Flags Raft groups with an excessively large write-ahead log, risking disk exhaustion and cascading OOM failures. Triggers on absolute size or relative to js_max_store. The relative thresholds apply only when js_max_store is set. |
| server-052 | Raft Group Peer Count Mismatch | warning | System Improvement | optimization | Flags Raft groups where the observed peer count exceeds the expected replica count from stream or consumer configuration. A consumer with num_replicas 0 inherits its stream's count. Each group is reported once, against its leader when the leader reports it. |
| server-053 | Meta Raft Group Closed | critical | Server | operational | Flags servers whose meta Raft group has shut down while the server is still reporting. Without it the server cannot take part in JetStream control-plane decisions, such as stream and consumer creation, deletion, placement and leader election. Only the meta group is checked, since stream and consumer groups close normally when their asset is deleted. |
| server-054 | JetStream Asset Missing | critical | Server | operational | Flags a stream or consumer that was assigned to this server and that the server cannot find. Unlike a rejected configuration, the asset is supposed to be here. A placement change, a failed catch-up or a delete that did not propagate can cause this. |
| server-055 | JetStream Store Write Error | critical | Server | operational | Flags a stream whose message store refused a write or could not be recovered, so it cannot persist messages on this server. After a refused write, a replicated stream steps down and stays an observer here so its replicas elsewhere can take over. server-064 reports a failed write to a Raft group's own write-ahead log, naming the group. |
| server-056 | JetStream Asset Raft Fault | critical | Server | operational | Flags a stream or consumer whose Raft group is in a state this server cannot serve from, such as a node skew, a stopped monitor or a group reporting itself unhealthy. It also catches any cause the other health checks do not recognize, so a condition introduced by a newer server still gets reported. |
| server-057 | Memory Usage Outlier | warning | Cluster | operational | Flags servers whose memory usage exceeds the cluster average by more than the configured multiplier. |
| server-058 | Offline Replica | warning | Meta Cluster | operational | Flags meta cluster replicas that the reporters agree are offline. A peer is not flagged while another reporter, or the peer itself, still sees it online. An offline peer stays a group member because NATS never evicts one. system-009 reports a peer leaving the group. |
| server-059 | High HA Assets | warning | Cluster | operational | Flags servers with more highly-available JetStream assets than the warning count. Each replicated asset carries Raft memory, disk and network overhead, so a restart or failure of the server is costly and its load is hard to rebalance. |
| server-060 | Cluster Name Whitespace | warning | Cluster | operational | Flags servers whose configured cluster name contains whitespace. nats-server rejects a literal space at startup but does not check for tabs, newlines or carriage returns, which leave an error-prone name. |
| server-061 | Route Count Low | warning | Cluster | operational | Flags a server with fewer routes than its cluster peers require. For each peer where both sides pool routes, NATS opens the larger pool size plus a dedicated route for each account pinned on both ends, with a floor of one for the system account. A pair with pooling disabled needs one route. Pinned accounts are counted from observed routes, so the expected count is a lower bound. |
| server-062 | JS API Request Rate High | warning | JetStream | operational | Flags servers where the JetStream API request rate exceeds the threshold. The rate is measured between consecutive epochs, so a server missing from the previous epoch is not evaluated. |
| server-063 | Meta Snapshot Slow | warning | Meta Cluster | operational | Flags a server whose last local meta Raft snapshot took longer than the warning or critical threshold. A slow snapshot delays meta log compaction. |
| server-064 | Raft WAL Write Error | critical | Server | operational | Flags a Raft group whose write-ahead log failed a write it could not tolerate. nats-server then shuts down the group's node, so every asset in the group is unavailable on this server until the fault is fixed. |
| server-065 | Server Not Reporting | warning | Server | operational | Flags a server with no VARZ observation at an epoch when another server reported VARZ and a peer reported a route to it. Checks that use STATSZ values (CPU, traffic, storage and other server measurements) can still fire for it. Only servers with cluster routes are covered, so a solo server, a single-member cluster or a node reachable only over gateways is never reported. A server the scraper's server filter excluded after it was scraped can also match while peers still route to it. It fires only on epochs ROUTEZ also ran in. |
| service-001 | Service Version Mismatch | warning | Service | operational | Flags services where instances report different client versions or languages. |
| service-002 | Service Down | warning | Service | operational | Flags services that were present in an account's previous complete subscription snapshot and missing from the next complete one. Partial or unknown snapshots are skipped. |
| stream-001 | Stream Configuration Changed | info | Change | operational | Flags streams whose num_replicas, retention_policy, max_msgs, max_bytes, max_age or max_consumers changed from the stream's previous reported configuration. Changes to other settings are not flagged. |
| stream-002 | Stream Replica Lag | warning | JetStream | operational | Flags stream replicas whose last sequence number trails the leader's by more than the lag percentage of the leader's last sequence. Replicas reporting sequence 0, such as during a snapshot sync, are skipped. |
| stream-003 | High Subject Cardinality | warning | JetStream | operational | Flags streams with more unique subjects than the configured maximum. |
| stream-004 | Stream Message Limit | warning | JetStream | operational | Flags streams where message count is above the warning percentage of the limit. |
| stream-005 | Stream Byte Limit | warning | JetStream | operational | Flags streams where byte usage is above the warning percentage of the limit. |
| stream-006 | Stream Consumer Limit | warning | JetStream | operational | Flags streams where consumer count is above the warning percentage of the limit. |
| stream-007 | Stream Quorum Lost | critical | JetStream | operational | Flags replicated streams where enough replicas are offline to lose quorum. Offline replicas are counted from the stream leader's report, so a stream left with no leader is not flagged here, and server-044 reports its leaderless Raft group. |
| stream-008 | Stream Subject/Message Count Inconsistency | warning | JetStream | operational | Flags streams that report more unique subjects than total messages, which is an inconsistent stream state. Streams with no messages are skipped. |
| stream-009 | Stream Replica Message Count Divergence | info | JetStream | operational | Flags replicated streams whose replica message counts differ by at least the absolute threshold and by more than the proportional one. Only the leader and replicas it reports as current and online are compared. |
| stream-010 | Mirror Last Seen Staleness | warning | JetStream | operational | Flags zero-lag mirrors that have been inactive longer than the stale threshold while their local source stream advanced during that time. Mirrors of external sources or of themselves, and ambiguous source reports, are skipped. |
| stream-011 | Mirror Lag Critical | warning | JetStream | operational | Flags mirror streams where mirror lag is at or above the operator-defined io.nats.monitor.lag-critical threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-012 | Mirror Seen Critical | critical | JetStream | operational | Flags mirror streams where the time since the mirror was last active is at or above the operator-defined io.nats.monitor.seen-critical threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-013 | Min Sources | warning | JetStream | operational | Flags streams where the source count is below the operator-defined io.nats.monitor.min-sources threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-014 | Max Sources | warning | JetStream | operational | Flags streams where the source count exceeds the operator-defined io.nats.monitor.max-sources threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-015 | Peer Expect | warning | JetStream | operational | Flags streams whose peer count, from the stream leader's report, differs from the positive value set in io.nats.monitor.peer-expect. Zero and negative values are invalid and reported by stream-034. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata. |
| stream-016 | Peer Lag Critical | warning | JetStream | operational | Flags stream replicas whose lag, as reported by the stream leader, exceeds the operator-defined io.nats.monitor.peer-lag-critical threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-017 | Peer Seen Critical | warning | JetStream | operational | Flags stream replicas where the time since the replica was last active, as reported by the stream leader, exceeds the operator-defined io.nats.monitor.peer-seen-critical threshold. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-018 | Message Count Threshold | warning | JetStream | operational | Flags streams whose message count is at or below a positive io.nats.monitor.msgs-warn or msgs-critical minimum. Critical is checked first whatever order the two values are in, and zero disables a bound. Matches jsm.go. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-019 | Subject Count Threshold | warning | JetStream | operational | Flags streams whose subject count crosses the io.nats.monitor.subjects-warn or subjects-critical threshold. When warn is below critical, the thresholds are ceilings. Otherwise they are floors. A missing value counts as zero, and if both are zero or negative the check is disabled, matching jsm.go. Requires io.nats.monitor.enabled set to true and no invalid monitor metadata (stream-034). |
| stream-020 | Stream-Consumer Leader Co-location | info | Balance | optimization | Flags streams where the stream leader's server also hosts a disproportionate share of replicated consumer leaders. R1 consumers are excluded because their leader cannot be moved off its only replica's server. Streams with fewer than 3 replicated consumer leaders are skipped. |
| stream-021 | Over-Replicated Inactive Stream | info | Cost | optimization | Flags R3+ streams that received no new messages across the selected time range. The stream must be observed at or before the range's start and at its end. Sealed streams are skipped. |
| stream-022 | Memory Storage Large Stream | info | Cost | optimization | Flags memory-backed streams using more memory than the configured maximum. |
| stream-023 | Uncompressed Large Stream | info | Cost | optimization | Flags file-backed streams larger than the uncompressed size threshold with no compression enabled. |
| stream-024 | Inactive Stream | info | Idle Resources | optimization | Flags unsealed streams that received no new messages across the selected time range. The stream must be observed at or before the range's start and at its end. |
| stream-025 | Streams Without Limits | info | System Improvement | optimization | Flags unsealed streams with no message, byte, age or per-subject limit. |
| stream-026 | Direct Gets Disabled | info | System Improvement | optimization | Flags replicated streams with allow_direct disabled, so individual message-get requests must be served by the stream leader. R1 streams are skipped, since their single server serves every read either way. |
| stream-027 | High Interior Deletes on Stream | info | System Improvement | optimization | Flags streams with many interior sequence holes or a high share of deleted positions. Deleted ranges are stored compactly, so the count does not measure memory use. |
| stream-028 | Large Deduplication Window | info | System Improvement | optimization | Flags streams with a long deduplication window and active publishing, estimated from sequence advancement. The window can use a lot of memory when publishers set message IDs. Needs a previous observation in the selected range. |
| stream-029 | KV Buckets Without max_age | info | System Improvement | optimization | Flags KV buckets with no max_age configured that have accumulated a large number of interior deletes. |
| stream-030 | R1 Streams in Multi-Node Clusters | info | System Improvement | optimization | Flags R1 (single-replica) streams, which have no redundancy, in clusters with more than one JetStream node. Mirrors are excluded. |
| stream-031 | WorkQueue Discard New with Aggressive Consumer Settings | warning | System Improvement | optimization | Flags WorkQueue streams with discard_policy=new that have a consumer using timed acknowledgements with a short ack_wait or low max_deliver. Fast retries can exhaust delivery attempts and leave work retained until the stream fills. |
| stream-032 | Sustained Consumer Growth on Stream | warning | System Improvement | optimization | Flags streams where consumer count has been growing steadily, which can indicate a consumer leak. |
| stream-033 | Stream Leader Not Co-located | info | Placement | optimization | Flags streams whose leader is in a different cluster from most of the account's client connections. Clients in other clusters reach the leader through gateways. Consumer Raft groups follow their stream's placement, so the finding is reported on the stream, where placement can be changed. |
| stream-034 | Invalid Stream Monitor Metadata | warning | JetStream | operational | Flags streams with invalid values for recognized io.nats.monitor metadata keys. While any value is invalid, none of the stream's monitor thresholds are evaluated. |
| system-003 | Consumer Count Change | warning | JetStream | operational | Flags when the total consumer count rises or falls by more than the threshold between consecutive epochs. |
| system-004 | Meta Leader Flapping | warning | Meta Cluster | operational | Flags when the meta cluster leader changes more times than allowed within the lookback window. Changes are counted between consecutive scrapes, so a leader that changes and changes back between two scrapes is missed. |
| system-006 | Meta Asset Replica Count High | warning | Meta Cluster | operational | Flags when the total number of JetStream asset replicas exceeds the threshold. |
| system-007 | Meta Quorum Lost | warning | Meta Cluster | operational | Reports critical when peers reported offline leave the meta group below quorum. Reports warning when the group had a leader earlier but none appears in the two most recent scrapes. Missing JSZ responses can also cause the warning, and it doesn't mean every peer is offline. |
| system-008 | Even Cluster Size | info | Meta Cluster | operational | Flags a meta cluster with an even number of peers. An even size tolerates no more failures than the odd size one below it. |
| system-009 | Meta Cluster Size Decreased | warning | Meta Cluster | operational | Flags when the meta cluster's distinct peer count drops below its recent peak and stays down. NATS never evicts an unresponsive peer, so an offline peer still counts here. server-058 reports offline peers. The drop must last longer than the sustain time, so a single missed leader scrape doesn't raise a false alarm. |
| system-011 | Leader Disagreement | warning | Meta Cluster | operational | Flags when multiple servers report themselves as the meta cluster leader. |
| user-001 | Bearer Token User | info | User | operational | Flags bearer token users with active connections. |
| user-002 | Excessive User Connections | info | User | operational | Flags users with more active connections than the configured maximum. |