Check apache-tomcat-version¶
Overview¶
Checks the installed Apache Tomcat version against the endoflife.date API and alerts if the version is end-of-life or if newer major, minor, or patch releases are available. By default, alerts 30 days before the official EOL date. The offset is configurable.
Important Notes:
- Must run on the Tomcat server itself to detect the installed version
- Point
--catalina-homeat the Tomcat installation directory (CATALINA_HOME). The location depends on how Tomcat was installed:/usr/share/tomcaton Red Hat family packages (default)/usr/share/tomcat10,/usr/share/tomcat9and similar on Debian/Ubuntu packages (the path carries the major version)- the unpacked directory (often
/opt/tomcat) for the upstream binary distribution
Data Collection:
- Detects the installed Apache Tomcat version by running
bin/version.sh, which ships with the upstream distribution and the official container images - Falls back to reading the version from
lib/catalina.jarwhenbin/version.shis absent, which is the case for Red Hat family packages - Queries the endoflife.date API to determine EOL status and available releases
- Caches the API response in a local SQLite database to reduce network calls
Fact Sheet¶
| Fact | Value |
|---|---|
| Check Plugin Download | https://github.com/Linuxfabrik/monitoring-plugins/tree/main/check-plugins/apache-tomcat-version |
| Nagios/Icinga Check Name | check_apache_tomcat_version |
| Check Interval Recommendation | Every day |
| Can be called without parameters | Yes |
| Runs on | Linux |
| Compiled for Windows | No |
| Uses State File | $TEMP/linuxfabrik-lib-version.db |
Help¶
usage: apache-tomcat-version [-h] [-V] [--always-ok]
[--catalina-home CATALINA_HOME] [--check-major]
[--check-minor] [--check-patch] [--insecure]
[--no-proxy] [--offset-eol OFFSET_EOL]
[--test TEST] [--timeout TIMEOUT]
Checks the installed Apache Tomcat version against the endoflife.date API and
alerts if the version is end-of-life or if newer major, minor, or patch
releases are available. By default, alerts 30 days before the official EOL
date. The offset is configurable.
options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
--always-ok Always returns OK.
--catalina-home CATALINA_HOME
Tomcat installation directory (CATALINA_HOME)
containing `bin/version.sh`. Default:
/usr/share/tomcat
--check-major Alert when a new major release is available, even if
the current version is not yet EOL. Example: running
v26 (not yet EOL) and v27 is available.
--check-minor Alert when a new major.minor release is available,
even if the current version is not yet EOL. Example:
running v26.2 (not yet EOL) and v26.3 is available.
--check-patch Alert when a new major.minor.patch release is
available, even if the current version is not yet EOL.
Example: running v26.2.7 (not yet EOL) and v26.2.8 is
available.
--insecure This option explicitly allows insecure SSL
connections.
--no-proxy Do not use a proxy.
--offset-eol OFFSET_EOL
Alert n days before ("-30") or after an EOL date ("30"
or "+30"). Default: -30 days
--test TEST For unit tests. Needs "path-to-stdout-file,path-to-
stderr-file,expected-retc".
--timeout TIMEOUT Network timeout in seconds. Default: 8 (seconds)
Usage Examples¶
./apache-tomcat-version --catalina-home=/usr/share/tomcat --offset-eol=-30
Output:
Apache Tomcat v10.1.49 (EOL unknown, major 11.0.23 available)
States¶
- OK if the installed version is not EOL and no newer releases are flagged.
- WARN if the installed version is EOL (or will be within
--offset-eoldays, default: -30). - WARN if
--check-majoris set and a newer major version is available. - WARN if
--check-minoris set and a newer minor version is available. - WARN if
--check-patchis set and a newer patch version is available. - UNKNOWN if Apache Tomcat is not found.
--always-oksuppresses all alerts and always returns OK.
Perfdata / Metrics¶
| Name | Type | Description |
|---|---|---|
| apache-tomcat-version | Number | Installed Apache Tomcat version as float, e.g. "10.1.49" becomes "10.149". |
Credits, License¶
- Authors: Linuxfabrik GmbH, Zurich
- License: The Unlicense, see LICENSE file.