ID: 3585
Title: Implemented API for exporting the full host inventory
Component: HW/SW-Inventory
Level: 2
Class: New Feature
Version: 1.4.0i1
The HW/SW inventory data can now be exported using a webservice. This webservice
outputs the raw structured inventory data of a host.
The URL to this webservice is <tt>http://[MONITORING-SERVER]/[SITE]/check_mk/host_inv_api.py?host=[HOST]&outp…</tt>.
You choose one of these output formats: <tt>json</tt>, <tt>xml</tt>, <tt>python</tt>.
The data provided by this webservice looks as follows:
C+:
{
"result": {
"hardware": {
"memory": {
"total_ram_usable": 16697331712,
"total_swap": 17049841664,
"total_vmalloc": 35184372087808
}
},
"networking": {
"hostname": "Klappspaten"
}
},
"result_code": 0
}
C-:
The data below the key <tt>result</tt> is the HW/SW inventory data.
In case an error occurs during processing of the request, for example a host can not be found,
the <tt>result_code</tt> is set to 1 and the result contains the error message:
C+:
{"result": "Found no inventory data for this host.", "result_code": 1}
C+:
You can also request data of multiple hosts at once. In this case, you need to specify your request like this:
<tt>http://[MONITORING-SERVER]/[SITE]/check_mk/host_inv_api.py?request={"hosts": ["host1", "host2"]}&output_format=json</tt>
You will then get an answer that is similar to the answer above. With the difference that the top level dictionary
uses the host names as keys and the values are the inventory tree of this host.
C+:
{
"result": {
"gestern": {
"hardware": {
"memory": {
"total_ram_usable": 16697307136,
"total_swap": 17049841664,
"total_vmalloc": 35184372087808
}
},
"networking": {
"hostname": "Klappspaten"
}
},
"heute": {
"hardware": {
"memory": {
"total_ram_usable": 16697307136,
"total_swap": 17049841664,
"total_vmalloc": 35184372087808
}
},
"networking": {
"hostname": "Klappspaten"
}
},
"slave": {}
},
"result_code": 0
}
C-:
Another difference in this mode: When a host has no inventory data, the host has an empty dictionary as value
instead of providing an error result.
If you want to only have a subset of inventory data, you can specify a list of <i>inventory paths</i> which are then
used to filter the tree. Only hosts that have those paths will show the trees.
For example, if you only want to see the total and swap memory information of a single host, you can use the following URL:
<tt>http://[MONITORING-SERVER]/[SITE]/check_mk/host_inv_api.py?host=[HOST]&requ…"paths": [".hardware.memory.total_ram_usable", ".hardware.memory.total_swap"]}&output_format=json</tt>
You will get back only the requested data:
C+:
{
"result": {
"": {
"hardware": {
"memory": {
"total_ram_usable": 16697307136,
"total_swap": 17049841664
}
}
}
},
"result_code": 0
}
C-:
ID: 3540
Title: Fixed exception on reading cachefiles
Component: Checks & Agents
Level: 2
Class: Bug Fix
Version: 1.2.9i1
This fixes the Check_MK agent error <i>%d format: a number is required, not NoneType</i>
which was introduced in the last version.
ID: 2238
Title: postfix_mailq: Fixed incorrect creation of RRDs, Fixed graphs of size and length of queues
Component: Checks & Agents
Level: 2
Class: Bug Fix
Version: 1.2.9i1
Postfix mail queue check creates incorrect rrd data sources. This results in a lot of unnecessary rrd files.
You can delete those files to save hard disc space. But keep in mind, that you will loose the historic
data. Graphs can have areas with missing data.
Those files are stored at following locations:
<ul>
<li>~/var/check_mk/rrd</li>
<li>~/var/pnp4nagios/perfdata</li>
</ul>
You can delete those files with those commands:
<code>
find ~/var/check_mk/rrd -type f -iname "postfix_mail_queue_*_size*" -exec rm '{}' \;
find ~/var/pnp4nagios/perfdata -type f -iname "postfix_mail_queue_*_size*" -exec rm '{}' \;
</code>
If you have set up a new monitoring site with version 1.2.8, there are multi RRDs in use.
If you want to clean up those files, please contact us with via your support address.
The graphs of size and length of the queues have been adapted to correct this mistake.
All several performance data is collected in one graph.
ID: 3618
Title: Better layout for role & permission matrix, also allow sorting and searching
Component: WATO
Level: 2
Class: New Feature
Version: 1.2.9i1
ID: 3617
Title: cmk -I without host specification now (again) always uses cache files
Component: Core & Setup
Level: 2
Class: Bug Fix
Version: 1.2.9i1
If you do a discovery of all hosts then <tt>cmk -I</tt> always defaulted to
using cache files (like an implicit <tt>--cache</tt>). This behaviour has
gone lost recently and is no revived. You always can use <tt>--no-cache</tt>
if you want fresh data.
ID: 3616
Title: Fix cmk -I ignoring the option --cache
Component: Core & Setup
Level: 2
Class: Bug Fix
Version: 1.2.9i1
When you use <tt>cmk --cache -I myhost123<tt> on the command line in order
to discovery services on a specific host then the option <tt>--cache</tt> was ignored
and always fresh data had been fetched from the target host. This has been
fixed.
ID: 3585
Title: Implemented API for exporting the full host inventory
Component: HW/SW-Inventory
Level: 2
Class: New Feature
Version: 1.2.9i1
The HW/SW inventory data can now be exported using a webservice. This webservice
outputs the raw structured inventory data of a host.
The URL to this webservice is <tt>http://[MONITORING-SERVER]/[SITE]/check_mk/host_inv_api.py?host=[HOST]&outp…</tt>.
You choose one of these output formats: <tt>json</tt>, <tt>xml</tt>, <tt>python</tt>.
The data provided by this webservice looks as follows:
C+:
{
"result": {
"hardware": {
"memory": {
"total_ram_usable": 16697331712,
"total_swap": 17049841664,
"total_vmalloc": 35184372087808
}
},
"networking": {
"hostname": "Klappspaten"
}
},
"result_code": 0
}
C-:
The data below the key <tt>result</tt> is the HW/SW inventory data.
In case an error occurs during processing of the request, for example a host can not be found,
the <tt>result_code</tt> is set to 1 and the result contains the error message:
C+:
{"result": "Found no inventory data for this host.", "result_code": 1}
C+:
ID: 3575
Title: User logins can now be limited to single session at a time
Component: Multisite
Level: 2
Class: New Feature
Version: 1.2.9i1
Normally a user can login to the GUI from unlimited number of clients at
the same time. If you want to enforce your users to be able to login only once
(from one client which means device and browser), you can enable this option.
When the user logs out or is inactive for the configured amount of time, the
session is invalidated automatically and the user has to log in again from the
current or another device.
ID: 3134
Title: windows agent: fixed bug where the last message of an eventlog was always re-read
Component: Checks & Agents
Level: 2
Class: Bug Fix
Version: 1.2.9i1
ID: 3472
Title: Service list of a host: Move section of vanished services to top of the page
Component: WATO
Level: 2
Class: New Feature
Version: 1.2.9i1
The vanished services usually indicate a problem or invalid service configuration and
should be shown rather on the top of the page then after the long list of services.