ID: 10601
Title: Auto migration of check plugins to new section definitions
Component: Checks & agents
Level: 2
Class: New feature
Version: 1.7.0i1
We are now converting all plugins to the new format expected by
the future API. Migrated are plugins from
<ul>
<li>share/check_mk/checks</li>
<li>local/share/check_mk/checks</li>
<li>share/check_mk/inventory</li>
<li>local/share/check_mk/inventory</li>
</ul>
Although we are trying to migrate as many check and inventory plugins
as possible on the fly, for some plugins this may fail.
These are the anticipated reasons why auto-migration may fail:
<h4>A cluster aware checkplugin</h4>
Checkmk refuses to auto-migrate cluster aware (those with node_info
set to True) check plugins. Auto converting the data layout
is too error prone. These plugins must be migrated manually.
<h4>Checkplugins using 'extra_sections'</h4>
Checkmk refuses to auto-migrate check plugins that make use of the
'extra_sections' feature. In the new API the destiction between the
regular section and additional 'extra_sections' is not made, and all
section content will be passed in its 'parsed' version.
Therefore these Plugins have to be migrated manually.
<h4>A missing SNMP scan function</h4>
Every Checkplugin that specifies an 'snmp_info' key must
specify 'snmp_scan_function' as well.
<h4>A complex SNMP scan function</h4>
If Checkmk fails to auto-migrate a legacy SNMP plugin to a section
definition, this is most likely due to an elaborate scan function.
For the auto-migration to work, the scan function must be fairly
simple. Make sure your scan function has the following properties:
<ul>
<li>it only consists of one single return statement</li>
<li>it does not in turn call other functions (not even 'all' or 'any')</li>
<li>it does not negate compound expressions</li>
</ul>
If in doubt, take a look at scan functions that succeed to be migrated
to see what options are available.
<h4> Known limitations</h4>
<ul>
<li>HostLabels that are generated in a subchecks discovery function are lost</li>
</ul>
ID: 10873
Title: Report headers: Improve handling of titles with dynamic lengths
Component: Reporting & Availability
Level: 2
Class: Bug fix
Version: 1.7.0i1
In previous versions of Checkmk the title of reports could only be set to a
fixed size. Especially with generic reports, like host or service reports, this
is a problem because the titles can be of different lengths and can even exceed
the width of the document.
The "One line of text" report element has now a new configuration option
"Shrink too long texts", which is disabled by default. Once you enable this
option, the text size will be estimated before adding it to the document.
In the moment the text is too long, the system tries to wrap the text and
reduce the font size at the same time. In many cases the text is inserted in
such a way that it fits. There are still cases where the text still cannot be
made to fit properly, but for the most common cases this should be a good
enough fit.
We have changed the default "host" report template to use the new setting for
the title of the page. In case your reports are based on your own template
and want to use the new option, you will have to enable the option in the
report elements of your report template.
ID: 10601
Title: Auto migration of check plugins to new section definitions
Component: Checks & agents
Level: 2
Class: New feature
Version: 1.7.0i1
We are now converting all plugins in the share/check_mk/checks
and local/share/check_mk/checks to the new format expected by
the future API. Although we are trying to migrate as many check
plugins as possible on the fly, for some plugins this may fail.
These are the anticipated reasons why auto-migration may fail:
<h4>A complex SNMP scan function</h4>
If Checkmk fails to auto-migrate a legacy SNMP plugin to a section
definition, this is most likely due to an elaborate scan function.
For the auto-migration to work, the scan function must be fairly
simple. Make sure your scan function has the following properties:
<ul>
<li>it only consists of one single return statement</li>
<li>it does not in turn call other functions (not even 'all' or 'any')</li>
<li>it does not negate compound expressions</li>
</ul>
If in doubt, take a look at scan functions that succeed to be migrated
to see what options are available.
ID: 10601
Title: Auto migration of check plugins to new section definitions
Component: Checks & agents
Level: 2
Class: New feature
Version: 1.7.0i1
We are now converting all plugins in the share/check_mk/checks
and local/share/check_mk/checks to the new format expected by
the future API. Although we are trying to migrate as many check
plugins as possible on the fly, for some plugins this may fail.
These are the anticipated reasons why auto-migration may fail:
<h4>A complex snmp scan function</h4>:
If checkmk fails to auto-migrate a legacy snmp plugin to a section
definition, this is most likely due to an elaborate scan function.
For the auto-migration to work, the scan function must be fairly
simple. Make sure your scan function has the following properties:
<ul>
<li>it only consists of one single return statement</li>
<li>it does not in turn call other functions (not even 'all' or 'any')</li>
<li>it does not negate compound expressions</li>
</ul>
If in doubt, take a look at scan functions that succeed to be migrated
to see what options are available.
ID: 10689
Title: Checkmk Python may be installed with Windows Agent
Component: Checks & agents
Level: 2
Class: New feature
Version: 1.7.0i1
With this release Checkmk monitoring software has got a possibility
to install and to use Python-3 together with the Windows Agent.
It is now possible to develop agent plugins on Windows using Python.
It is now also possible to build real cross-platform plugins (like e.g.
mk_logwatch)
The Checkmk Python can be installed either automatically(the default),
if any of deployed plugins need it, or manually, if a user of the Checkmk
software needs Python-3 functionality on the host.
At the moment the Checkmk Python has version 3.8.1 and will be deployed
in the directory <tt>%ProgramData%\checkmk\agent\modules\python-3.8</tt>.
The Python will be updated in the future versions together with the agent.
We also ship a collection of useful Python modules, at the moment pyyaml
and colorama.
Also it is possible to install arbitrary Python modules using Checkmk
Python's pip.
By default the Checkmk Python will be used as interpreter for all
plugins with extension .py. It is possible to change this behaviour
with WATO and .py scripts will be interpreted using Windows system
Python.
All plugins with extension .checkmk.py will be interpreted with Checkmk
Python if Checkmk Python is installed.
Important: Checkmk Python doesn't interfere with Windows Operation
System (registry, installer, paths, etc) and may be removed at any
moment. It means two important consequences:
1. The Windows Control Panel doesn't have a dedicated entry for Python.
It is installed as a component of the Checkmk Windows Agent.
2. Checkmk Python isn't added to the Windows PATH environment variable.
ID: 10975
Title: Support local files in Agent Bakery
Component: agents
Level: 2
Class: New feature
Version: 1.7.0i1
The agent bakery now recognizes files placed under the local hierachy of
the Checkmk site and packages them as a replacement for the corresponding
non-local/builtin-files.
Previously, this feature was available for some files like "custom-files" or the agent
itself. Now this holds true for all files that get packaged into the baked agent package.
For example, if you want to replace a plugin file, that is located at
<code>~/share/check_mk/agents/plugins/my_plugin</code>, you would place
your own version at <code>~/local/share/check_mk/agents/plugins/my_plugin</code>.
Additionally, the agent bakery watches all files that are relevant for a package
and will invalidate the current package upon changes in file size, modification
date, or file permissions, resulting in a newly baked package with new agent hash on
bake request.
This is visible by an orange-colored "Bake agents" button at the agent bakery.
Especially, if a file is added to the local hierarchy as a replacement for a builtin-file,
this will be recognized as a file change and result in a new package on bake request.
Please note: Some files will get renamed by the bake process, e.g. the source file
<code>check_mk_agent.linux</code> will result in <code>check_mk_agent</code> in the final
agent package. In order to get a local file packaged, you always have to place your local
file using the source name (Here: <code>~/local/share/check_mk/agents/check_mk_agent.linux</code>).
ID: 10872
Title: agent_vsphere: Removed ESX 4.1 compatibility mode
Component: Checks & agents
Level: 2
Class: Bug fix
Version: 1.7.0i1
The ESX 4.1 compatibility mode of the ESX vSphere special agent has been
removed. This separate implementation, which was based on the pysphere python
API, was outdated, much slower and missed several features of the current ESX
vSphere special agent.
In case you still need this, you may have to setup a separate site which uses
the old special agent to collect the needed information.
ID: 10868
Title: Tags: Custom "Agent type" tag group cleanup is now easier
Component: WATO
Level: 2
Class: Bug fix
Version: 1.7.0i1
Werk #5535 introduced with Checkmk moved the "Agent type" tag group from
a tag group that could be customized to a builtin tag group.
In case you have modified it in any way, the tag group could not be migrated
manually. In this situation the new builtin tag choices have been added to
the tag group and the titles of the previously existing tag choices have been
prefixed with "Legacy: ".
To perform the cleanup now you have to perform the following steps:
<ul>
<li>Remove all tag choices except <tt>cmk-agent</tt>, <tt>all-agents</tt>,
<tt>special-agents</tt> and <tt>no-agent</tt>.</li>
<li>Then you can try to delete the tag group.</li>
</ul>
If you have prepared the tag group as mentioned in the first step, the second
step should result in a message "Cleaned up user tag group to builtin". The
tag group is visible as "(builtin)" tag group.
ID: 10124
Title: The output formats "python" and "python3" are now explicit about string types.
Component: Livestatus
Level: 2
Class: New feature
Version: 1.7.0i1
To ease the Python 2 => Python 3 transition, Livestatus is now very explicit
about string types when using the "python" and "python3" output formats: All
binary strings have a "b" prefix now, and all unicode strings have a "u"
prefix. This makes both formats effectively identical.
If you don't use either format in your scripts or use a Python version >= 2.6,
you don't have to change anything. If you still use Python <= 2.5 (which
doesn't undestand the "b" prefix), please upgrade. Note that these Python
versions have an EOL in 2011 or before, so this shouldn't be a problem in
practice.
ID: 10714
Title: Raw Edition: Modernize graphing system
Component: Multisite
Level: 3
Class: New feature
Version: 1.7.0i1
The Checkmk Raw Edition was using PNP4Nagios for rendering time series graphs
since it's birth. This software did a good job for years, but is way of a being
a state of the art system.
To improve the user experience of all our Raw Edition users, we decided to make
the basic parts of the Checkmk Enterprise graphing system available to all our
users.
The parts of the graphing system that are included with the Raw Edition ship
the same features as the previous system did. More advanced features, like the
combined, forecast and custom graphs are still only usable by our Enterprise
and Managed Services Edition users.