Check file-descriptors¶
Overview¶
Checks the system-wide file descriptor usage as a percentage of the kernel maximum. Also lists the top processes consuming the most file descriptors to help identify the source of high usage. Alerts when usage exceeds the configured thresholds.
Data Collection:
Depending on the user (e.g. running as
icinga), sudo may be needed to read all process informationReads
/proc/sys/fs/file-nrto obtain the number of allocated file handles and the system-wide maximumUses
psutil.process_iter()to aggregate open file descriptors per process name for the top-N list
Fact Sheet¶
Fact |
Value |
|---|---|
Check Plugin Download |
https://github.com/Linuxfabrik/monitoring-plugins/tree/main/check-plugins/file-descriptors |
Nagios/Icinga Check Name |
|
Check Interval Recommendation |
Every minute |
Can be called without parameters |
Yes |
Runs on |
Linux |
Compiled for Windows |
No |
3rd Party Python modules |
|
Help¶
usage: file-descriptors [-h] [-V] [--always-ok] [-c CRIT] [--top TOP]
[--test TEST] [-w WARN]
Checks the system-wide file descriptor usage as a percentage of the kernel
maximum. Also lists the top processes consuming the most file descriptors to
help identify the source of high usage. Alerts when usage exceeds the
configured thresholds.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
--always-ok Always returns OK.
-c, --critical CRIT CRIT threshold for file descriptor usage in percent.
Default: 95
--top TOP Number of top processes to list by open file
descriptors. Default: 5
--test TEST For unit tests. Needs "path-to-stdout-file,path-to-
stderr-file,expected-retc".
-w, --warning WARN WARN threshold for file descriptor usage in percent.
Default: 90
Usage Examples¶
./file-descriptors --warning 90 --critical 95
Output:
2.2% file descriptors used (2.1K/94.1K)
Top 5 processes opening file descriptors:
1. mongod: 183 FD
2. master: 91 FD
3. mariadbd: 75 FD
4. icinga2: 62 FD
5. php-fpm: 48 FD
States¶
OK if file descriptor usage is below
--warning(default: 90%).WARN if file descriptor usage is >=
--warning(default: 90%).CRIT if file descriptor usage is >=
--critical(default: 95%).--always-oksuppresses all alerts and always returns OK.
Perfdata / Metrics¶
Name |
Type |
Description |
|---|---|---|
fd |
Percentage |
Allocated file handles divided by the system-wide maximum, multiplied by 100. |
Credits, License¶
Authors: Linuxfabrik GmbH, Zurich
License: The Unlicense, see LICENSE file.