ID: 12805
Title: Overlapping label inputs (label conditions)
Component: Multisite
Level: 1
Class: Bug fix
Version: 2.1.0i1
When entering invalid labels the width of the input
field was calculated incorrectly.
This caused the following label input field to overlap
with the current one.
ID: 12850
Title: Migrating Checkmk configurations during site renamings
Component: Core & setup
Level: 2
Class: New feature
Version: 2.1.0i1
Users which execute <tt>omd mv</tt> or <tt>omd cp</tt> expect Checkmk to not
only rename the site, but also migrate the Checkmk configuration in a way that
they can continue seamlessly with their existing Checkmk configuration.
This feature did not exist before and was a common misunderstanding. The
commands listed above did not take care of the Checkmk configuration files. In
fact the site management, which is realizing the renaming of a site, does not
know anything about the Checkmk configuration files.
However, with this change we create the integration of both worlds. In the
moment a site renaming or copy is performed, the site management informs
Checkmk about this action and gives it the chance to update it's configuration
files.
The most important parts of the Checkmk configuration are now updated:
<ul>
<li>Distributed monitoring (sites) configuration</li>
<li>Host & folder site attributes</li>
<li>Dynamic host configuration site attribute</li>
</ul>
The new logic is also trying to detect specific situations and displays
warnings about things that can (currently) not be migrated automatically.
For example, if the renaming of a distributed remote site is detected, a
warning is now displayed that you also have to update the distributed
monitoring configuration in the central site of your setup.
<i>Details:</i>
OMD, which is responsible for providing the site management of Checkmk, itself
is only caring about migrating the files and file parts that are initially
installed when creating a new Checkmk site. <b>Clearer:</b> If you create a
clean site and then execute <tt>grep -r $OMD_SITE etc</tt> in your site, you
can see a lot of files which contain the ID of the site. These things are
already migrated by OMD.
But OMD is not aware of the configuration files of the applications shipped
with OMD. For example the Checkmk configuration files are not understood by
OMD. And that's totally fine from an architectural point of view, because OMD
is an separate component that manages installation of different applications,
but must not mess with their individual files.
However, from a users perspective it's clear that you also want the application
files to be migrated during site renaming.
This change introduces the general mechanism:
<ul>
<li>OMD detects changes of the site ID (mv, cp or restore)</li>
<li>Then it executes the command <tt>post-rename-site -v -o [OLD_SITE_ID]</tt></li>
<li>The command <tt>post-rename-site</tt> then takes care of the Checkmk
configuration updates</li>
<li>It can also detect some situations it can not solve on it's own
and warns the user about potential manual steps to do afterwards.</li>
</ul>
The migration steps are realized in so called rename action plugins which can
easily be extended. In the git you can find them at
<tt>cmk/post_rename_site/plugins/actions</tt>.
ID: 12928
Title: fileinfo_groups, sap_hana_fileinfo_groups: migration to the new check API
Component: Checks & agents
Level: 1
Class: New feature
Version: 2.1.0i1
This werk is incompatible if you have fileinfo_groups or sap_hana_fileinfo_groups
enforced services. In that case you have to go to the enforced service parameters
and add group patterns for file grouping.
Nothing has changed in the check logic.
ID: 13033
Title: REST API: respect disabled WATO
Component: Core & setup
Level: 1
Class: Bug fix
Version: 2.1.0i1
It's possible to disable all configuration modifications in WATO via 'Setup' ->
'Distributed Monitoring' -> 'Disable remote configuration'. This option is now
respected by the REST API. It's no longer possible to make configuration
changes via the REST API if this option is activated.
ID: 12849
Title: Fix service label notitification condition
Component: Notifications
Level: 1
Class: Bug fix
Version: 2.0.0p9
In previous 2.0 versions the service label condition, which can be configured
in notification rules, was not working as intended. The condition never matched
and as a result no notification was triggered anymore once the service label
condition was configured.
ID: 12392
Title: HW/SW Inventory: Single values or table columns can be kept longer than their validity period
Component: HW/SW Inventory
Level: 1
Class: New feature
Version: 2.1.0i1
The {{mk_inventory}} agent plugin collects static data like BIOS settings,
information about the operation system, installed packages and others. The
collected data has a validity period and will be removed if no new data is
provided by the plugin.
Hosts or applications may be down or unreachable due to maintenance work and do
not provide data anymore. Such situations lead to empty tree entries.
In order to counteract such situations single values or table columns can be
kept longer than their validity period from the previous tree via the ruleset
{{Retention intervals for HW/SW inventory entities}}.
One advantage is that tree entries are not missing in reports.
If the host provides data again the new data is used, of course.
The retention information about how long single values or table columns are
kept is displayed behind the single value keys resp. in the headers of the
table columns.
Retention intervals will be removed completely if there is no ruleset
{{Retention intervals for HW/SW inventory entities}} anymore.
<b>Example:</b>
Assume the fields {{hardware.memory::total_ram_usable}} and
{{networking.interfaces::index}} are currently not contained in the agent
data, and their validity periods are expired.
If there are retention intervals configured for these fields, they will not
dissappear from the inventory, but their respective headers display
{{Total usable RAM (x left)}} and {{Index (y left)}}.
If the retention intervals are expired the headers show {{Total usable RAM (outdated)}}
resp. {{Index (outdated)}}.
<b>Note:</b>
This feature is only available for inventory plugins programed against
the new API: If you want to keep table columns we must know which columns
identify a row. This information is not available for legacy inventory
plugins, which would lead to unexpected, incomprehensible and non-transparent
results regarding the inventory history, filtering or merging other trees.
This means that you have to migrate legacy inventory plugins to the new API
which generate TableRows (or Attributes).
ID: 12906
Title: unix agents: changed signature of 'run_cached'
Component: Checks & agents
Level: 1
Class: New feature
Version: 2.1.0i1
This incompatible API change only affects users who use
the function <tt>run_cached</tt> exported by the agents.
The function no longer accepts the options <tt>-s</tt>,
<tt>-m</tt> or <tt>-am</tt>.
The functions synopsis is now <tt>run_cached NAME MAXAGE COMMAND</tt>
<ol>
<li><tt>name</tt>: The name of the cache file</li>
<li><tt>maxage</tt>: The time in seconds the generated data should be considered valid</li>
<li><tt>command</tt>: The command to generate the data</li>
</ol>
In particular the removal of the '-s' option means you now have to
include the creation of the section header in your command.
ID: 12687
Title: activation_cleanup: fix growing tmp directory due to inactive cleanup job
Component: Setup
Level: 1
Class: Bug fix
Version: 2.1.0i1
The "Activate Changes" functionality creates a number of temporary directories
under tmp, which are periodically removed by a cleanup job "Activation
Cleanup". This job was not able to repair itself in the event that it had a
broken or empty status file:
~/var/check_mk/background_jobs/activation_cleanup/jobstatus.mk. This has been
fixed, so that the job can continue to run.
ID: 13116
Title: PostgreSQL Agent Plugin: Run On Additional Systems (Windows)
Component: Checks & agents
Level: 1
Class: New feature
Version: 2.1.0i1
On Windows systems, the PostgreSQL agent plugin (<tt>mk_postgres</tt>) now looks
for the PostgreSQL binary <tt>psql.exe</tt> in additional places. Before, the
plugin only checked <tt>C:\Program Files\PostgreSQ\</tt>. Now, the plugin checks
<ul>
<li><tt>Program Files\PostgreSQL\</tt></li>
<li><tt>Program Files (x86)\PostgreSQL\</tt></li>
<li><tt>PostgreSQL\</tt></li>
</ul>
for every logical drive and uses the first found binary.
This means that the plugin might now run on systems it previously didn't run on.
Note that you first have to update the Checkmk agent of affected hosts.