Title: check_ewon: TypeError ('NoneType' object is not subscriptable) raised if values for levels are missing
Class: fix
Compatible: compat
Component: checks
Date: 1724069620
Edition: cre
Level: 1
Version: 2.2.0p33
In case values for `levels` are missing and `None` taken instead, running the check function would
crash with `TypeError ('NoneType' object is not subscriptable)`.
This change hard codes some default values in case no values could be extracted.
Title: ewon: KeyError (device)
Class: fix
Compatible: compat
Component: checks
Date: 1722930487
Edition: cre
Level: 1
Version: 2.2.0p33
An existing rule for <code>check_ewon</code> without the mandatory key <code>device</code> would result in an exception
<code>KeyError (device)</code>.
This change makes the check function use a default, if <code>device</code> is not set.
Title: check_ewon: ValueError (incomplete format)
Class: fix
Compatible: compat
Component: checks
Date: 1722930770
Edition: cre
Level: 1
Version: 2.2.0p33
Formatting a value with unit <code>%</code> would result in an invalid format-string making <code>check_ewon</code>
crash with an exception <code>ValueError (incomplete format)</code>.
This change makes <code>check_ewon</code> use f-formatting instead of <code>%</code>-formatting.
Title: update_action: check for connector key in user configs before accessing it
Class: fix
Compatible: compat
Component: wato
Date: 1724057162
Edition: cre
Level: 1
Version: 2.2.0p33
We previously implemented an update action that would check for invalid
ldap connection ids in the user configs. However, this change didn't
take into account that a user config doesn't always have a connection
id and would cause a crash on updating.
This werk fixes this issue by checking first if the user config has
a connection id before accessing it.
Title: Fix warning on rule creation of "Icon image for..."
Class: fix
Compatible: compat
Component: wato
Date: 1723726408
Edition: cre
Level: 1
Version: 2.2.0p33
If you created a new rule "Icon image for hosts in status GUI" or "Icon image
for services in status GUI", a warning like "Unable to read current options of
this rule" was shown.
The rule could still be created.
Title: azure: Remove unnecessary 'metric not found' errors
Class: fix
Compatible: compat
Component: checks
Date: 1723131636
Edition: cre
Level: 1
Version: 2.2.0p33
When querying metrics, Azure agent was reporting each missing metric in the
details of the 'Azure Agent Info' service. This didn't influence the status
of the service but still implied an error.
It was misleading because some metrics aren't defined in some types
of resources. Now, those metrics are optional and won't cause an error.
Title: Microsoft Teams: Updated notification message
Class: fix
Compatible: compat
Component: notifications
Date: 1723712510
Edition: cre
Level: 1
Version: 2.2.0p33
Changes were made to the notification format for Microsoft Teams to reduce
whitespace. No user action is required.
Formatting rules for the details:
* Supports Markdown, see <a href="https://learn.microsoft.com/en-us/adaptive-cards/authoring-cards/text-featu…">Microsoft's documentation</a>
* Use <code>\n\n</code> for a new line
* An empty line will lead to a separator (<code>\n\n\n\n</code>)
Title: Fixed CMC crash when sending illegal metrics to InfluxDB
Class: fix
Compatible: compat
Component: cmc
Date: 1723645030
Edition: cee
Level: 1
Version: 2.2.0p33
When the CMC tried to send to a metric to an InfluxDB where the metric name
was malformed (e.g. starting with an underscore), the CMC crashed. This
has been fixed, such metrics are now simply forwarded to the InfluxDB. The
latter will probably be a bit unhappy about such metric names, but this can
be figured out via its logs, and the corresponding check can be fixed.
Note that in a future Checkmk version, we will probably drop such metrics
silently, logging this only for higher log levels to avoid log spam at the
default log settings.
Title: check_sql: activate thick mode for oracle connections
Class: fix
Compatible: compat
Component: checks
Date: 1723110054
Edition: cre
Level: 1
Version: 2.2.0p33
With <a href="https://checkmk.com/werk/16023">Werk #16023</a> we switched the library used
to connect to oracle databases from <code>cx_Oracle</code> to <code>oracledb</code>. For <code>cx_Oracle</code>
it was mandatory to install "Oracle Instant Client". The newer <code>oracledb</code> library has
two modes: A stand alone thin mode and a thick mode that needs the "Oracle
Instant Client".
In order to fully replace <code>cx_Oracle</code>, <code>oracledb</code> needs to be in thick mode.
This is something we have not considered for Werk #16023.
With this Werk we now try to switch into the thick mode, and if this does not
work, we use thin mode. If you execute <code>check_sql</code> with <code>-v</code> switch you will see
a message if <code>oracledb</code> could not switch into thick mode.
<code>oracledb</code> searches for the "Oracle Instant Client" in several standard location.
<code>check_sql</code> will find the installation if the files (among other things <code>*.so</code>
and <code>*.jar</code>) from the "Oracle Instant Client" files are directly in
<code>~local/lib/</code> in your site.