ID: 10317
Title: Readd SLES 12 SP3
Component: Linux Distributions
Level: 3
Class: New feature
Version: 2.0.0i2
Readd Support for SLES 12 SP3, which was removed prematurly.
ID: 11464
Title: Windows agent updater plugin is delivered as Python script
Component: agents
Level: 2
Class: New feature
Version: 2.0.0i1
Since this release Windows Agent update plugin is delivered as a python file
with name <tt>cmk_update_agent.checkmk.py</tt>
This feature has next advantages:
<ul>
<li>eliminates false virus alarms for the plugin</li>
<li>improves stability and performance</li>
<li>speeds up development</li>
<li>improves diagnostic</li>
</ul>
To use the plugin from the command line you may use provide next methods:
1. Use Windows agent:
C+:
cd "%ProgramFiles(x86)%\checkmk\service"
check_mk_agent updater [params]
C-:
2. Use provided with Windows agent Python module:
C+:
cd "%ProgramData%\checkmk\agent\plugins"
..\modules\Python-3.8\.venv\Scripts\python cmk_update_agent.checkmk.py [params]
C-:
In both cases <tt>params</tt> means parametres of the Windows agent updater plugin.
You could even execute the Agent updater with another Python installation, but it
is not recommended, because you would have to ensure that all module dependencies
are installed in your environment. We have solved this problem for you by providing
a standard Python environment for Windows, so it should be used.
ID: 10291
Title: New Checkmk REST-API introduced
Component: Core & setup
Level: 3
Class: New feature
Version: 2.0.0i1
With the Checkmk REST-API you can execute tasks you would normally perform manually in Checkmk's GUI
on the Checkmk server via custom made scripts.
REST stands for REpresentational State Transfer and describes an architecture for the exchange of
data on distributed systems - especially for Web services. The implementation of this REST-API is
done via the HTTP/1.1 protocol, where resources are addressed via URIs and accessed with HTTP
methods (GET, PUT, POST, DELETE).
The API is documented in a machine-readable schema and a human-readable document in English, with
all resources, their input and output parameters and the associated value ranges. The API is
specified in the OpenAPI 3.x specification format.
The documentation for the API can be accessed in Checkmk's GUI under "Navigation > Help > REST-API
Documentation". The specification file can be downloaded by clicking on the "Download OpenAPI
Specification" button at the top of the documentation.
A chapter in the Checkmk Manual specific to the REST-API is currently being created and will be
ready for the 2.0.0 release.
ID: 11500
Title: Microcore: Improved memory efficiency of helper processes
Component: Core & setup
Level: 3
Class: New feature
Version: 2.0.0i1
In previous versions the Checkmk Microcore used so called Checkmk helper
processes to execute the "Check_MK" services of the monitored hosts.
In larger installations, these processes consumed a lot of memory, because a)
they held the Checkmk configuration in memory and b) you needed to configure a
lot of them to scale the performance of your monitoring with the growing number
of hosts. This resulted in a resource bottleneck.
Checkmk 2.0 comes with a completely reworked helper model. This introduces two
kinds of helper processes.
<ul>
<li>Fetcher: It's only task is to fetch the needed information from the
monitored hosts. So it handles the network communication with the Checkmk
agent, SNMP agent or other special agents. It may take some time to gather
these information and it also may be blocked by network timeouts. But it
consumes only a small amount of memory. So you can configure a lot of these
processes without problems.</li>
<li>Checker: It's task is to parse, analyze and evaluate the information
gathered by the fetcher. It produces the check results for your services. It is
a memory hungry process, because it needs to know all of your Checkmk
configuration. It only takes a very short time to process the information from
the fetcher. There is no network IO done by this helper process, which makes it
pretty fast. You only need a small number of these processes.</li>
</ul>
This new model separates the problems of the previous "Checkmk helpers" into
two separate pools: a) The network IO bound fetching of information and b) the
CPU bound checking of the fetched information. We can now scale these different
helper types independently from each other.
Bottom line: Checkmk 2.0 has consumes significantly less memory (~ factor of 4,
depending on your configuration) while achieving the same amount of checks per
second. As a result, Checkmk 2.0 can monitor even more hosts on the same
platform than before.
The new model is enabled with Checkmk 2.0 by default. It can be configured
using the global settings "Use separate fetchers and checkers", "Maximum
concurrent Checkmk fetchers", "Maximum concurrent Checkmk checkers".
All sites start with 13 fetcher processes and 4 checker processes.
After updating you should have a look at the "Fetcher helper usage" and
"Checker helper usage". It can be viewed in the "Micro core statistics" snapin
and the detailed output of the "OMD [SITE] performance" services on your
Checkmk host. The usage of both pools should not exceed 80%. In case it does,
you should consider increasing the number of helpers of that type.
ID: 11402
Title: Agent Bakery: New "Bake and sign" action
Component: agents
Level: 2
Class: New feature
Version: 2.0.0i1
It is now possible to bake and sign all agents in one step. You can simply do this by pressing
the corresponding button at the agent bakery. It will be available as soon as at least one
signature key has been created or imported.
When invoking "Bake and sign agents", you will be prompted for selecting a signature key and
entering its passphrase. After that, every agent package will get baked and signed immediately
after baking.
When using "Bake and sign", it is assured that there are no unsigned packages visible for
download at any time, avoiding that it could be seen accidentally by a calling agent updater,
leading to a "The deployment server provides an agent but that is not signed." error.
The "Bake and sign" action is also available via REST API, please refer to the documentation
for details.
ID: 11401
Title: New Bakery API
Component: agents
Level: 3
Class: New feature
Version: 2.0.0i1
It is now possible to extend Checkmk by writing your own bakery plugins.
That is, you can now deploy your own agent plugins and have them baked into
your agents by the agent bakery.
While this was also possible before by placing the right files at the right
locations, you can now deploy your plugins with the help of a well-documented,
versioned and comprehensive API. A bakery plugin is a Python 3 module that specifies
files that should be deployed to the baked agents, scriptlets that should be
executed on the target system (RPM scriplets, DEB maintainer scripts, Solaris PKG
installation scripts) on package transition, and Windows agent config entries (YAML config)
that should be available for the baked windows agents.
You can add your own bakery plugins by placing them at
<code>~/local/lib/check_mk/base/cee/plugins/bakery/</code>. For instructions and details
on how to use the new API, please refer to the official Checkmk documentation. With Checkmk 2.0,
also the majority of the builtin bakery plugins have been migrated to the new Bakery API, so
having a look at them at <code>~/lib/check_mk/base/cee/plugins/bakery/</code>
can also help to write your own plugins.
If you have deployed your bakery plugins to Checkmk before, using the previous method
of placing a plugin file to <code>~/local/share/check_mk/agents/bakery/</code>, your plugins
will continue to work with Checkmk 2.0, if you convert them to Python 3 syntax. However,
the Agent Bakery will display a deprecation warning on baking agents (visible at the
bake-agents background job details at the GUI, or on the console if baking via command line),
and the support for legacy bakery plugins will be removed in an upcoming version of Checkmk,
so it's worth it to migrate your plugins to the new API early.
ID: 11482
Title: Add option for host and service labels in notification rule conditions
Component: Notifications
Level: 2
Class: New feature
Version: 2.0.0i1
You can now configure conditions for host and service labels in notification
rules.
Label conditions can be added the same way like in ruleset conditions
("has"/"has not").
ID: 11463
Title: Windows Agent: additional protection of the working directories
Component: Checks & agents
Level: 2
Class: Security fix
Version: 2.0.0i1
With this fix some deirectories used by windows Agent are protected from
any access of Windows Standart User:
Program Files (x86)\checkmk\service
ProgramData\checkmk\agent\backup
ProgramData\checkmk\agent\config
ProgramData\checkmk\agent\install
ProgramData\checkmk\agent\update
ID: 11495
Title: Remove dokuwiki from standard Checkmk packages
Component: Other Components
Level: 2
Class: New feature
Version: 2.0.0i1
Dokuwiki has been delivered with Checkmk since the introduction of OMD. It has
certainly helped some users to quickly create documentation in their monitoring
site. But for Checkmk 2.0 we decided to remove Dokuwiki from the standard
packages.
The Dokuwiki package causes increased effort and complexity because it has to
be maintained by us, including the plugins that have been selected and
implemented. The main problem here is: We support different Linux distros in
different versions. These platforms provide different PHP versions by default
(currently PHP 5.4 to 7). To all these versions we have to keep Dokuwiki and
the plugins compatible. Upstream, however, Dokuwiki has removed support for
such old PHP versions. This would increase the effort for us significantly if
we want to support all platforms equally well.
If you have been using Dokuwiki in a Checkmk site so far, there are ways to do
so. Dokuwiki can be installed into the local hierarchy of a site and run from
there. You are responsible for the installation and maintenance of the
installation yourself. It would even be possible to create an MKP to share the
installation with other users.
The Checkmk sidebar snapin "Wiki" has also been removed from Checkmk. If
you want to use it, you can find it at
"share/doc/check_mk/treasures/wiki_sidebar_snapin.py" in your site. Copy
the file to "local/share/check_mk/web/plugins/sidebar/" and restart your
site apache to make the snapin available to the GUI.