Check keycloak-version¶
Overview¶
Checks the installed Keycloak version against the endoflife.date API and alerts if the version is end-of-life (EOL) or if newer major, minor, or patch releases are available. By default, the check alerts 30 days before the official EOL date. The offset is configurable via --offset-eol.
Important Notes:
See Creating an API user account to monitor Keycloak for setting up the required API credentials (only needed if
version.txtis not available).
Data Collection:
Determines the installed Keycloak version by first trying to read
version.txtfrom the local installation directory (--path, default:/opt/keycloak)If the file is not found, falls back to querying the Keycloak Admin REST API at
/admin/serverinfo(requires--username,--password, and--url)Compares the installed version against the endoflife.date API (
https://endoflife.date/api/keycloak.json)Caches the endoflife.date response in a local SQLite database to reduce API calls
Fact Sheet¶
Fact |
Value |
|---|---|
Check Plugin Download |
https://github.com/Linuxfabrik/monitoring-plugins/tree/main/check-plugins/keycloak-version |
Nagios/Icinga Check Name |
|
Check Interval Recommendation |
Every day |
Can be called without parameters |
Yes |
Runs on |
Cross-platform |
Compiled for Windows |
No |
Uses SQLite DBs |
|
Help¶
usage: keycloak-version [-h] [-V] [--always-ok] [--check-major]
[--check-minor] [--check-patch]
[--client-id CLIENT_ID] [--insecure] [--no-proxy]
[--offset-eol OFFSET_EOL] [-p PASSWORD] [--path PATH]
[--realm REALM] [--timeout TIMEOUT] [--url URL]
[--username USERNAME]
Checks the installed Keycloak 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.
--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.
--client-id CLIENT_ID
Keycloak API Client-ID. Default: admin-cli
--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
-p, --password PASSWORD
Keycloak API password. Default: admin
--path PATH Local path to your Keycloak installation. Default:
/opt/keycloak
--realm REALM Keycloak API realm. Default: master
--timeout TIMEOUT Network timeout in seconds. Default: 8 (seconds)
--url URL Keycloak API URL. Default: http://127.0.0.1:8080
--username USERNAME Keycloak API username. Default: admin
Usage Examples¶
./keycloak-version --path=/opt/keycloak
./keycloak-version --url=http://keycloak:8080 --username=keycloak-monitoring --password=linuxfabrik --check-major --check-minor --check-patch
Output:
Keycloak v21.0.1 (EOL 2023-04-19 -30d [WARNING], major 22.0.4 available, minor 21.1.2 available, patch 21.0.2 available)
States¶
OK if the installed version is not EOL and no newer versions are requested to be checked.
WARN if the installed version is EOL (or approaching EOL within the configured offset).
WARN if
--check-majoris set and a new major version is available.WARN if
--check-minoris set and a new minor version is available.WARN if
--check-patchis set and a new patch version is available.UNKNOWN if the installed version cannot be determined.
--always-oksuppresses all alerts and always returns OK.
Perfdata / Metrics¶
Name |
Type |
Description |
|---|---|---|
keycloak-version |
Number |
Installed Keycloak version as float (e.g. „18.0.3“ becomes „18.03“). |
Credits, License¶
Authors: Linuxfabrik GmbH, Zurich
License: The Unlicense, see LICENSE file.