NautheraServerFileDescriptorsHigh
Docs version v1 (main)Nauthera is pre-1.0, in a design-partner program
A nauthera-server replica uses more than 80% of its file descriptor limit.
Meaning
process_ has been above the threshold (0.8) for ten minutes on
one replica. Every client connection, database connection, cache connection, outbound
request (back-channel logout, a hosted captcha, SMTP) and open file holds a descriptor.
A steady climb without more traffic points to a leak; a jump with traffic points to many
idle or slow client connections.
Impact
Nothing fails yet. At the limit the replica can accept no new connection and open no new database or cache connection, so sign-in, token and admin requests routed to it fail until it is restarted.
Diagnosis
- Which replica, and how fast it is growing:
process_andopen_ fds{job="<name>"} process_.max_ fds{job="<name>"} - Compare with what holds descriptors:
nauthera_,http_ in_ flight_ requests{job="<name>"} go_(at mostsql_ open_ connections{job="<name>",db_ name="nauthera"} database.max_open_conns, 20 by default) andnauthera_.grpc_ in_ flight_ requests - Many connections from one client address: the
http_requestlog lines carryclient_ip; a slow or idle-connection flood shows as many connections and few completed requests. - Check whether the climb started with a rollout:
kubectl -n <ns> rollout history deploy/.<name>
Mitigation
- Relieve the replica:
kubectl -n <ns> delete pod <pod>; the Deployment replaces it. - A connection flood: limit it at the ingress or load balancer in front of the server.
- Legitimate load: add replicas (
replicaCount, orautoscaling). - A climb that tracks a new version: roll back with
helm rollback <release>.
Escalation
If descriptors grow steadily while traffic is flat, or come back after a restart, it is
likely a leak: escalate to the identity platform owner and open an issue with graphs of
process_open_fds, nauthera_ and go_sql_open_connections over
the same window, and the server version (nauthera_build_info).
Alert runbooks · Generated from internal/ and operator/ in nauthera-server.