ID: 12184
Title: OIDCached not refreshing
Component: Checks & agents
Level: 1
Class: Bug fix
Version: 2.1.0i1
In Checkmk versions 2.0.0i1 to 2.0.0b7 SNMP data
specified using the <tt>OIDCached</tt> class were
not updated properly (i.e. on every discovery).
As this class is specifically designed for OIDs
whos values rarely change, this bug probably
went unnoticed by most users.
ID: 12183
Title: Outdated data during full scan discovery
Component: Checks & agents
Level: 1
Class: Bug fix
Version: 2.1.0i1
During full scan discovery on the WATO discovery page
outdated data has been used. While this was not
noticable in most cases, it could lead to missing
or unexpectedly present services.
This was the case for instance if you disabled SNMP
sections, added a new plugin or changed an SNMP
detection specification.
ID: 12149
Title: Support for Python 2 based UNIX agent plugins
Component: Checks & agents
Level: 2
Class: New feature
Version: 2.1.0i1
With Werk #11080, we made the huge step to port the entire Checkmk
codebase from Python 2 to Python 3. This also affects all Python based
agent plugins, that can be found under <tt>~/share/check_mk/agents/plugins</tt>
and that can be deployed via the agent bakery or manually.
However, there are still many UNIX systems out there that don't support Python 3
yet. In order to still ensure a functional monitoring on these hosts, all
builtin Python based agent plugins now also support Python 2.
<h3>Automatic Python 3/Python 2 agent plugin mechanism</h3>
This is realized by the following mechanism:
<ul>
<li>All python based agent plugins are written in Python 3 and end with <tt>.py</tt></li>
<li>For all builtin Python 3 agent plugins, an additional Python 2 plugin is available,
that ends with <tt>_2.py</tt>. E.g., you will find a Python 2 agent plugin named
<tt>apache_status_2.py</tt> right next to it's Python 3 counterpart
<tt>apache_status.py</tt></li>.
<li>When deploying the agent plugin via agent bakery, both files will be deployed
via the agent package. The UNIX agent will then automatically decide which file
will be executed. If there is a Python installation >= 3.4 available on the system,
the Python 3 variant will be executed. If there is instead a Python installation >= 2.6
available, the Python 2 variant will be executed. If none of the two variants are
available, the plugin won't be executed.</li>
<li>When deploying manually, the same mechanism holds true. You just have to include
both files, if you want to make use of this feature. Please note that a python based
plugin must end with <tt>_2.py</tt> to be executed via Python 2.</li>
</ul>
<h3>New agent rule "Python agent plugin execution (UNIX)"</h3>
The agent will detect a Python 3 installation by the command <tt>python3</tt> and a
Python 2 installation by the commands <tt>python2</tt> or <tt>python</tt>. If this
mechanism is not suitable for you, or if you want to use Python 2, even if there
is a Python 3 installation available, there exists a new agent ruleset called
"Python agent plugin execution (UNIX)" for that purpose. Here, you can enforce either
Python 2 or Python 3. Additionally, you can provide a custom Python command, if your
host's Python installation differs from one of the above mentioned commands.
<h3>New error communication</h3>
If the Python based plugins can't be executed on a host system, either because there is no
suitable Python installation available, or the manually configured command doesn't
exist, you will be noticed via the Check_MK service of the host, that will show
a suitable error message and yield a <tt>WARN</tt> state.
This also means that the Checkmk agent package installation will no longer fail
if there is no suitable Python installation available.
<h3>Incompatibilities</h3>
This Werk is marked as incompatible due to some circumstances:
<ul>
<li>Due to the fact that Python based plugins now require a <tt>.py</tt> ending, some builtin
plugins had to be renamed. You'll have to consider this when deploying via
a custom script that references the plugin's path on the Checkmk site. However, the
agent bakery will still choose the right files.</li>
<li>As Python 3 is the new default, and Python 2 was the old default, many Python based plugins
will silently be executed with a different interpreter as before. If you still want Python 2,
(and there is a Python 3 installation that would get chosen automatically,) you'll have to
configure the above mentioned rule (if deploying via agent bakery), or explicitly deploy the
<tt>_2.py</tt> version.</li>
<li>When deploying your own Python based agent plugins, you have to keep in mind that a Python 3
plugin has to end with <tt>.py</tt> and a Python 2 plugin has to end with <tt>_.py</tt>.
In particular, the shebang (if any) will be ignored. If you explicitly wish to disable this
mechanism, you can still write your Python based plugins as an executable script without a
<tt>.py</tt> suffix (Of course, the shebang will be used, then).</li>
</ul>
ID: 12281
Title: Activate changes: Failed to report "locked site" state
Component: Setup
Level: 1
Class: Bug fix
Version: 2.1.0i1
The activate changes site failed to report the state of the activation when
another activation is currently running on a site while another activation was
started.
In this case the activation background job failed with an error like "raise
Exception("start time not set")". Instead of this message the error is now
shown to the user as activation details message.
ID: 12220
Title: Fix saving of values in suggestion fields
Component: Multisite
Level: 1
Class: Bug fix
Version: 2.1.0i1
If you entered a value in suggestion fields, like e.g. the parent option in the
settings of a host, the value was only saved if you clicked enter.
Now this value will also be stored, if you click elsewhere.
ID: 11634
Title: inv_if: Fix missing interface description and alias in HW/SW inventory tree if not "do status data inventory"
Component: HW/SW Inventory
Level: 1
Class: Bug fix
Version: 2.1.0i1
ID: 12236
Title: <tt>oracle_instance</tt>: More detailed version information
Component: Checks & agents
Level: 1
Class: New feature
Version: 2.1.0i1
The check plugin <tt>oracle_instance</tt>, which monitors the state of
Oracle instances, now displayes more detailed version information if the
corresponding Oracle version supports this (the minimum required version
for this is Oracle 18c).
The displayed version will for example change from Version 19.0.0.0.0 to
Version 19.5.0.0.0. This has no impact on the monitoring state of the
corresponding services.
ID: 12212
Title: Make confirm dialog for downtimes more user friendly
Component: Multisite
Level: 1
Class: New feature
Version: 2.1.0i1
Previously, there were misunderstandings about setting downtimes in service
views. Without the option "Schedule downtimes on the affected hosts instead of on the
individual services" the downtime was "only" set for the services of that view,
not the host itself.
To make this clearer, the user can now choose between "Schedule downtime on
host" and "Schedule downtime for services" in the confirm dialog for downtimes
in such views. The above mentioned option for "...hosts instead of on the
individual services" was removed.
ID: 11792
Title: mail: adjustments to the number of graphs
Component: Notifications
Level: 2
Class: New feature
Version: 2.0.0b8
This werk affects all users who use the mail (not asciimail)
plugin. If your emails contain performance graphs only the
first 5 graphs will be sent by default. Additionally, if you
use notification bulking only graphs for the first 5
notifications in a bulk will be sent.
You can adjust these settings with the options "Graphs per
notification" and "Bulk notifications with graphs" either
directly in the notification rule or with the ruleset
"Parameters for HTML Email".
Reason behind this werk:
Each graph in a bulk increases the size of the mail and takes
time to render on the monitoring server. For very large bulks
the mail size may exceed the maximum size for attachements or
the plugin may run into a timeout so that a failed notification
is produced. This werk will therefore increase the liability
and performance of HTML emails.
Since most services have fewer than five graphs and the most
important information is displayed in the first graphs a total
number of 5 graphs should be sufficient even in single
notifications. Furthermore, for a detailed analysis the data
displayed in emails is usually not sufficient and a look into
the user interface is necessary.
ID: 11630
Title: mk_oracle: Show cached information in column 'checked' in case of async custom SQLs
Component: Checks & agents
Level: 1
Class: Bug fix
Version: 2.1.0i1
In general cached sections are marked with two timestamps:
<ul>
<li>the timestamp of the data collection (resp. execution)</li>
<li>the timestamp until when the section is treated as valid</li>
<li></li>
</ul>
On the Checkmk server the service columns {{checked}} or {{age}} display the
evaluated timestamps.
Custom SQLs of the {{mk_oracle}} can be declared as asynchrounous sections and
are executed in different intervals. In order to see the cached information for
{{Oracle Custom SQLs}} you have to re-install the mk_oracle plugin.