ID: 6370
Title: Fixed missing CEE/CME specific werks in release notes
Component: Multisite
Level: 2
Class: Bug fix
Version: 1.6.0i1
The Check_MK release notes viewer (Click on version in sidebar header)
was not correctly showing CEE/CME specific werks. All previous 1.5
releases are affected by this regression.
ID: 6315
Title: mssql_backup: Fixed missing default levels
Component: Checks & agents
Level: 2
Class: Bug fix
Version: 1.6.0i1
Werk 6143 removed the empty default levels. The consequence was that
all passive checks were gone because the default levels variable name
was unknown to Check_MK und therefore the autochecks could not be read.
This was introduced in Check_MK version in 1.5.0b8.
ID: 6358
Title: Fixed stale services on cluster nodes
Component: Core & setup
Level: 2
Class: Bug fix
Version: 1.6.0i1
When using Check_MK clusters it could happen that some of the services
on a node went stale and remained in this state. In this situation you
can find multiple messages in the cmc.log when using the CEE:
2018-07-21 12:47:52 [5] [Check_MK helper 4644] started, commandline: /omd/sites/beta/bin/cmk --keepalive
2018-07-21 12:48:42 [2] [Check_MK helper 4644] ignoring check result for lxclu1 / Filesystem /boot: no such service
2018-07-21 12:48:43 [4] [Check_MK helper 4644] restarting dead helper
2018-07-21 12:48:43 [5] [Check_MK helper 4644] exited normally
The issue was triggered because the cluster nodes reported service check
results for services which are assigned to the cluster using the "Clustered
services" rule set.
The problem could only happen when services of one check type were assigned to
the cluster and the cluster node. For example in case you have at least one
Filesystem service assigned to the node and at least one Filesystem service
assigned to the cluster.
This regression was introduced with 1.5.0b7 (Werk #5814).
ID: 6356
Title: New standard theme for Check_MK GUI
Component: Multisite
Level: 3
Class: New feature
Version: 1.6.0i1
The Check_MK GUI is now shipped with a new standard theme. This theme is
enabled by default for all sites created with 1.5.0b9 or newer. Updated sites
keep the classic theme by default.
You can use the Global Setting "User Interface > UI Theme" for changing the
default theme for you whole installation. Each user can change the theme on
his user profile page.
ID: 6345
Title: Fixed invisible/lost notification rules when editing notification rules
Component: Notifications
Level: 2
Class: Bug fix
Version: 1.6.0i1
Since werk #4167 it was possible to prevent users from configuring specific
notification plugins by setting the notification plugin permissions to "no". As
a result all notification rules that use the not permitted notification plugin
were not visible anymore to this user.
This hiding of rules could be confusing and lead to bugs. We decided to show all
rules now but prevent modifications of these rules when the user is not permitted
to perform the modifications.
When cloning notification rules or creating notification rules with identical
parameters only one of the rules was shown. The others could be hidden, but
still be in existing.
In other situations, when a user with limited permissions on notification plugins
edits the notification rules, it could happen that all notification rules that
use other plugins were deleted by accident.
These problems were introduced with werk #4167.
CMK-556
ID: 5505
Title: Multiple formats for Agent Updater executable on Linux
Component: agents
Level: 2
Class: New feature
Version: 1.6.0i1
Since Check_MK 1.5.0i2, the Linux Agent Updater executable (cmk-update-agent)
got deployed as a 64bit binary executable file, see Werk #5267 for details.
After regarding some customer feedback, we decided to bring back the cmk-update-agent
python script to Check_MK and additionally offer a 32bit binary executable format.
As a result, you can now choose between 3 executable formats for the cmk-update-agent
executable to be deployed by configuring the entry "Executable format (Linux/UNIX)" within
the Agent Updater ruleset: "64bit ELF executable", "32bit ELF executable" and "Python2 script",
with 64bit executable being the default if no rule entry is configured. Additionally, the rule entry
will be ignored on Windows hosts, so there is no need to manually exclude your Windows hosts
from a ruleset.
Please note that the deployment of the Python2 script may bring back some old problems (for
details, see again Werk #5267) and hence we can offer no support for troubleshooting while deploying
the Agent Updater as a script. However, a mail to feedback(a)check-mk.org is much appreciated.
ID: 6226
Title: Allow to match against the monitoring site in rules
Component: Event Console
Level: 2
Class: New feature
Version: 1.6.0i1
This allows to apply rules only on specific sites. Restricting
rules to sites can yield performance benefits in environments with
many sites. Beyond that, this is required to make the feature expect
regular messages work in a distributed environment with
config replication.
Example: If you have three centrally configured event consoles,
and you want a device to regularily report to one of them, you
previously had no way to configure that only the one site reports
missing messages. Instead, all sites the device doesn't send messages
to would repeatedly open events. This limitation can now be
worked around by specifying to which site expect rules should apply.
ID: 6342
Title: Fixed degraded SNMP check performance when using SNMP sub checks
Component: Checks & agents
Level: 2
Class: Bug fix
Version: 1.6.0i1
When checking a host with SNMP sub checks which normally all get the same data, the
data was fetched multiple times. One time for each subcheck used for monitoring a host.
This resulted in significantly increased check times and time outs. All 1.5 versions
are affected by this issue.
We experienced this issue with a CMCiii device which is normally monitored by a set of
sub checks (cmciii.*).
ID: 6096
Title: Check_MK GUI is now shipped via mod_wsgi as WSGI application
Component: Multisite
Level: 2
Class: New feature
Version: 1.6.0i1
This change should be seamless for most users, but may be interesting
especially for users that use custom GUI extensions. In case you only use the
GUI as it is and are not interested in technical details, you can skip the
following details.
With this change we replaced mod_python apache module with mod_wsgi.
Mod_python has been "deprecated" for several years. These days all modern
python based web applications are built using the WSGI standard. There are a
lot of implementations of WSGI applications out there. To have a smooth
transition we decided to use the mod_wsgi apache module as application server
for the GUI. It is now shipped with Check_MK instead of mod_python.
We have made the necessary changes to the GUI to work as WSGI application.
Some other cleanups and modifications have been made on the way.
<ul>
<li>Move index file to dedicated app folder as recommended for WSGI apps</li>
<li>Move several things from htmllib.html to dedicated helper classes
<ul>
<li>http.Request -> HTTP request parsing (from WSGI env)</li>
<li>http.Response -> HTTP response processing (for WSGI)</li>
<li>htmllib.TimeoutManager -> Handle GUI task timeouts</li>
<li>htmllib.TransactionManager -> Mange GUI action transaction IDs</li>
</ul>
</li>
<li>Cleaned up several other things in the htmllib and parent classes</li>
</ul>
The following changes have been made to the htmllib.html API:
html.set_cookie() -> html.response.set_cookie()
html.del_cookie() -> html.response.del_cookie()
html.get_request_header() -> html.request.get_request_header()
html.lowlevel_write() -> html._lowlevel_write()
html.remote_ip() -> html.request.remote_ip
html.is_ssl_request() -> html.request.is_ssl_request
html.request_method() -> html.request.request_method
html.get_user_agent() -> html.request.user_agent
html.get_referer() -> html.request.referer
html.requested_url() -> html.request.requested_url
html.request_uri() -> html.request.requested_url
html.http_redirect() -> html.response.http_redirect()
html.client_request_timeout() -> html.request.request_timeout
html.get_cookie_names() -> html.request.get_cookie_names()
html.has_cookie() -> html.request.has_cookie()
html.cookie() -> html.request.cookie()
html.uploaded_file() -> html.request.uploaded_file()
html.request_timeout() -> html.request.request_timeout
html.get_request_timeout() -> html.request.request_timeout
html.set_ignore_transids() -> html.transaction_ids.ignore()
html.get_transid() -> html.transaction_ids.get()
html.store_new_transids() -> html.transaction_ids.store_new()
html.urlencode_plus() -> html.urlencode()
Dropped things:
html.add_keybinding()
html.add_keybidings()
html.disable_keybindings()
html.keybindings_enabled
html.keybindings
html.RETURN
html.SHIFT
html.CTRL
html.ALT
html.BACKSPACE
html.F1
html.u8()
html.utf8_to_entities()
html.varencode()