Monitoring Blog
Release announcements, technical guides and monitoring insights from the ConSol team.
Monitoring von VMWare ESX mit check_esx3: "command matrix"
Friday, March 16, 2012 in Insights
Virtualisierung spart Kosten und Ressourcen, stellt aber hohe Ansprüche an Verwaltung und Monitoring. Die schwedische Firma op5 entwickelte für ihr gleichnamiges Nagios-basierendes Produkt das Plugin check_esx3, welches ein umfassendes Monitoring von VMWare ESX-Umgebungen ermöglicht. Am 1.3.2012 war Christian Anton (op5) zu Gast im ConSol-Webcast “ESX-Monitoring”, worin er wertvolle Tipps zum Monitoring solcher Umgebungen gab. Zusammen mit Moderator Simon Meggle erklärte er die wichtigsten Messpunkte und Metriken, die sich mit check_esx3 abfragen lassen. Die von ConSol entwickelte und am Ende des Webcasts vorgestellte “command matrix” für check_esx3 ist nun online verfügbar. Sie stellt die über 100 Sub-Commands des Plugins in ihrer Anwendbarkeit gegenüber, zeigt Möglichkeiten für …
Mod-Gearman 1.2.6 released
Thursday, March 15, 2012 in Insights
Version 1.2.6 of Mod-Gearman has just been released. You may now configure the worker queues by custom variables instead of host/servicegroups. queues from custom variables Sometimes you don’t want to create hostgroups to split up your checks for different worker (groups). So now you can assign a queue by custom variables. Read more about that feature in the documentation. discarded too old service job The error above should no longer occur. From now on there is now check on the job age by default. This is a relict from old versions and has been disabled by default now. You can enable it again by setting a ‘max-age’ value higher than zero. Although there is no need for this, as there will be only one check job per host and service at a time. dup_results_are_passive This new setting allows …
Wie bohrt man Datenbank-Plugins auf?
Monday, February 27, 2012 in Insights
check_oracle_health, check_mysql_health, check_mssql_health und check_db2_health bringen von Haus aus schon eine Menge Funktionalität mit. Allerdings wurden sie speziell für die Belange von Datenbankadministratoren entwickelt. Um auch den Betreibern von datenbankgestützten Applikationen die Möglichkeit zu geben, bestimmte Werte per SQL abzufragen, gibt es den Parameter "--mode sql". Damit lässt sich das numerische Ergebnis eines SQL-Aufrufs mit Schwellwerten vergleichen und in einen Nagios-Exitcode verwandeln. Üblicherweise sind die Anforderungen der Applikation an das Monitoring jedoch etwas komplexer. Am Beispiel von check_mysql_health und Wordpress wird gezeigt, wie man so etwas einfach umsetzen kann. Jedem der genannten Plugins liegt im Unterverzeichnis contrib eine Datei namens …
Mod-Gearman 1.2.2 released
Tuesday, February 14, 2012 in Insights
Version 1.2.2 of Mod-Gearman has just been released. It now comes with better orphaned check detection and easier installation for rpm based linux systems. Orphaned Check Detection Orphaned Checks occur whenever there are checks to do but no worker available. The two main reasons: network outages misconfiguration The Mod-Gearman NEB module will now submit a fake result for each orphaned check. This should help detecting errors and misconfigurations earlier. The old behaviour can be restored with orphan_host_checks=no orphan_service_checks=no This should help generating more accurate reports. Monitoring the Gearman daemon is also advisable to detect queues without workers. RPM Packages There are Debian and Ubuntu Packages for a long time already and now there will be packages for RPM based …
Using the Shinken livestatus module with MongoDB
Sunday, January 29, 2012 in Insights
In my last post i was explaining why it became necessary to have an alternative to the sqlite-based storing of log data. One of the many new features of the upcoming release 1.0 “Heroic Hedgehog” of the Shinken monitoring software will be a MongoDB backend used by the livestatus module. In this post i will show how to configure the livestatus module with a MongoDB cluster. First of all we setup a MongoDB cluster. When talking about a cluster, i mean a “replica set”, which is a very cool concept. It is a master-slave-replication cluster (with as many slaves you want), which automatically promotes a slave if the master becomes unavailable. From a client’s perspective, very few knowledge about the cluster’s internals is required. Failover is handled nearly transparent. As an example we have …
Pimp my Livestatus
Sunday, January 22, 2012 in Insights
In the early days of the Shinken monitoring system you were quite limited in how many web user interfaces you could use. There was the old CGI-based Nagios-Webinterface or (thanks to the merlin-mysql broker module) the Ninja GUI from OP5. At the same time, two Projects, Thruk and Multisite, became very popular. The success of these two web guis was mainly based on the way they communicated with the Nagios core. Where the CGI-Gui and Ninja were reading the host and service status from a flat file or a database, Thruk and Multisite had direct access to the internal data structures of Nagios. This was possible through Mathias Kettner’s new MK Livestatus addon, which is listening on a unix socket and responds to queries (in it’s own livestatus query language) within a fraction of a second. It …
Mod-Gearman with Embedded Perl
Sunday, January 01, 2012 in Insights
The upcoming version 1.1.2 of Mod-Gearman will have embedded Perl support which greatly improves performance when you have lots of Perl checks. Mod-Gearman will get three new configuration options: enable_embedded_perl use_embedded_perl_implicitly use_perl_cache The first two well known from the nagios.cfg and the last one was a compile time option in nagios and moved to a configuration option in Mod-Gearman. Please feel free to test the preview version. You will have to compile Mod-Gearman with “./configure –enable-embedded-perl” to build in embedded perl support. Please let me know if you find anything unusual. Thanks, Sven
Happy new year !
Friday, December 30, 2011 in Insights
As 2011 is now nearly history, it’s time for a short look behind what happened to labs.consol.de and its projects this year. Our support forum has been started. It is in quite good use as it seems. mod_gearman started its life on the Nagios Workshop in Hannover and continously rocks the Nagios world since then. Thruk and Jolokia reached their 1.0 releases,respectively (and independently ;-). All Nagios plugins got a major boost, with the rock-stars check_logfiles and check_oracle_health, which you probably can find on any larger Nagios installation nowadays. Citrus, the SOA testing framework, released version 1.1. Roland talked about Jolokia at the Nagios Workshop, Devoxx and OSMC 2011, Gerhard about Shinken on the Nagios Workshop and also on OSMC 2011 as suprise guest. Sven introduced …
Thruk Benchmarks
Thursday, November 10, 2011 in Insights
I often get asked if there are any benchmarks for Thruk so i finally decided to do some tests. Test Setup Since OMD made it so easy and fast to setup a test environment i would be a fool to not use it for tests too. In order to create test hosts and services i used the Monitoring::Generator::TestConfig Perl module and wrapped a simple perl script around ( gui_benchmark.pl on GitHub). Used Versions: Thruk 1.1.1 Nagios 3.2.3 Icinga 1.5.1 Test: create test services stop the core so it does not waste cpu cycles submit some passive check results wait till the checks are processed by the core run Apache Bench (ab) 5 times for each gui and take the fastest result The rests itself consists of 100 requests with 5 concurrent requests. Result The response time contains only the response of the main …
High performance string concatenation in Python
Monday, October 31, 2011 in Insights
During evaluation of the migration of a customer’s Nagios installation to the Shinken monitoring system, i encountered a strange problem. Reading the configuration from a few files (hosts.cfg, services.cfg, etc) took a reasonable amount of time. But as soon as i divided the configuration into lots of smaller files (one directory for each host with several services files within), it took nearly an hour. What happened? In Shinken, all the configuraton files are read into one single string. The extremely simplified code (which is run by the arbiter process) looks like this: res = u'' for cfg_file_name in list_of_all_config_files: fd = open(cfg_file_name, 'rU') res += fd.read() fd.close() return res After the for-loop, the string-variable res contains the contents of all the single config …