Welcome to ConSol Labs

prometheus-logo.png

Counting the number of error messages in log files and providing the counters to Prometheus is one of the main uses of grok_exporter, a tool that we introduced in the previous post.

The counters are collected by the Prometheus server, and are evaluated using Prometheus’ query language. The query results can be visualized in Grafana dashboards, and they are the basis for defining alerts.

We found that evaluating error counters in Prometheus has some unexpected pitfalls, especially because Prometheus’ increase() function is somewhat counterintuitive for that purpose. This post describes our lessons learned when using increase() for evaluating error counters in Prometheus.

more...

Author:Fabian Stäber
Tags:PrometheusIO, grok_exporter
Categories:monitoring
Ansible_Logo.png

Am 27.7. fand bei ConSol das Sommer-Meetup der Gruppe “Münchner Monitoring-Stammtisch” statt. Das Thema war diesmal “Ansible im Monitoring-Umfeld”.
Ansible ist ein Framework, mit dem üblicherweise Server nach der Grundinstallation nachkonfiguriert und mit ausgewählten Softwarepaketen versorgt werden. Oder mit dem im laufenden Betrieb immer wieder Patches und sonstige Updates ausgerollt werden. Dabei wird in einem sogenannten Ansible-Playbook lediglich der Soll-Zustand beschrieben und Ansible kümmert sich im Hintergrund um die dazu nötigen Aktionen. Das hat grundsätzlich noch nichts mit Monitoring zu tun, aber da wir über den Tellerrand hinausschauen und bei allen Kunden keine Insel installieren, sondern Teil einer Unternehmens-IT mit allen möglichen Verflechtungen sind, gehört Ansible seit längerem zum Werkzeugkasten des ConSol-Monitoring-Teams. Es gibt übrigens auch eine eigene Ansible-Meetup-Gruppe, die unsere Veranstaltung freundlicherweise auch auf ihrer Seite ankündigte.
Die Fachsimpelei bei Augustiner und Pizza wurde immer wieder durch einen Vortrag unterbrochen, als da waren:

  • Michael Kraus - Überblick über Ansible, erste Schritte, coole Features
  • Simon Meggle - Rollout und Administration einer verteilten Monitoring-Umgebung mit Ansible
  • Matthias Gallinger - Erstinstallation und kontinuierliche Betankung von Monitoring-Clients mit Plugins

more...

Author:Gerhard Laußer
Tags:Meetup, Ansible, Nagios
Categories:monitoring
prometheus-logo.png

Prometheus is an open-source systems monitoring and alerting toolkit. At its core, Prometheus uses time-series data, and provides a powerful query language to analyze that data. Most Prometheus deployments integrate Grafana dashboards and an alert manager.

Prometheus is mainly intended for white box monitoring: Applications either provide Prometheus metrics natively, or they are instrumented with an exporter to make application-specific metrics available.

For some applications, parsing log files is the only way to acquire metrics. The grok_exporter is a generic Prometheus exporter extracting metrics from arbitrary unstructured log data.

This post shows how to use grok_exporter to extract metrics from log files and make them available to the Prometheus monitoring toolkit.

more...

Author:Fabian Stäber
Tags:PrometheusIO, grok_exporter
Categories:monitoring

IDoc ist das Austauschformat von SAP ERP-Systemen, welches benutzt wird, um per Import und Export Daten sowohl untereinander als auch mit Fremdsystemen auszutauschen. Typische Beispiele solcher Daten sind Bestellungen, Lieferscheine, Überweisungen, Stundenbuchungen, etc. Ein IDoc besitzt neben Control- und Data-Records auch Status-Records, in denen jeder einzelne Verarbeitungsschritt protokolliert wird. Diese Status-Records werden in der Tabelle EDIDS gespeichert. Die neue Version 1.9 von check_sap_health kennt den Mode failed-idocs, mit dem in EDIDS nach Fehlermeldungen gesucht wird.

more...

Author:Gerhard Laußer
Tags:Nagios, Plugins, SAP, IDOC, Netweaver
Categories:nagios, omd

Seit der Version 2.6.3 von check_mssql_health ist es möglich, den für das Monitoring benötigten Datenbankbenutzer direkt vom Plugin erzeugen zu lassen. Angenommen, der Benutzer soll NAGIOS heißen und das dazugehörige Passwort ES_ku_el. Der Plugin-Aufruf lautet dann:

$ check_mssql_health --hostname dbsrv1 --port 1433 \
    --username sa --password 'Str3ng!g3heim' \
    --mode create-user \
    --name NAGIOS --name2 'ES_Ku_el'

Anstelle des Benutzers sa kann man auch jeden beliebigen Administrator-Account nehmen. NAGIOS wird in jeder einzelnen Datenbank angelegt. Kommen neue Datenbanken dazu, so wiederholt man einfach den create-user-Befehl.

Author:Gerhard Laußer
Tags:Nagios, Plugins, MS SQL
Categories:nagios, omd
Reguläre Schwellwerte

In der neuesten Version von GLPlugin habe ich die Möglichkeit vorgesehen, Thresholds auch als reguläre Ausdrücke anzugeben. Wie schaut das nun genau aus?

$ check_wut_health --hostname dcenv2.de.xxxx --community public --mode sensor-status
OK - return air temperature Unit 1.1 is 21.40C, humidity Unit 1.1 is 49.40%, return air temperature Unit 2.1 is 22.40C, humidity Unit 2.1 is 46.80% | 'temp_Unit 1.1'=21.40;25;28;; 'hum_Unit 1.1'=49.40%;40:60;35:65;0;100 'temp_Unit 2.1'=22.40;25;28;; 'hum_Unit 2.1'=46.80%;40:60;35:65;0;100

Wir sehen hier die hartcodierten Default-Schwellwerte 25 und 28 für die Temperatur bzw. 40:60 und 35:65 für die Luftfeuchtigkeit.
Bisher gab es zwei Möglichkeiten, diese zu ändern, z.b. in 20 und 30 für die Temperaturen zu ändern.

more...

Author:Gerhard Laußer
Tags:Nagios, Plugins
Categories:nagios, omd

sakuli_logo_small.png “Sakuli”, das Open-Source-Framework zum automatisierten Testen von Applikationen, ist vor kurzem in Version 1.0 erschienen. Ein kleiner Blick auf die zurückliegenden Änderungen.

more...

Author:Simon Meggle
Tags:e2e, end2end, monitoring, nagios, omd, sakuli
Categories:sakuli, omd, nagios

Markdown is great for writing documentation or tutorials. However, executing the steps from a tutorial usually means to copy and paste the commands into a shell. There is no guarantee that the documentation is complete, and there is no protection against copy-and-paste errors.

This post shows how to use Packer for automatically executing code snippets from Markdown files on a variety of platforms. Machine images are created directly from the code snippets in the documentation. That way, documentation is guaranteed to be up-to-date and complete, and it can be integrated in an automated delivery pipeline.

more...

Author:Fabian Stäber
Tags:markdown, packer, documentation
Categories:packer
SSL - No more excuses

There are many reasons to enable encryption on your webserver and since Let’s Encrypt openend its public beta, there are no more excuses to not use ssl. Besides the official scripts, programs and webpage, there is also already a Perl module Crypt::LE available which uses the Lets Encrypt API and makes requesting and renewing certificates super easy and most important… scriptable.

more...

Author:Sven Nierlein
Tags:perl, letsencrypt, ssl, tls, hsts
Categories:apache, ssl

In a previous article we went through how to build a chat room web application that used REST and STOMP for communicating between the client and server. In this article I use the very same application and show how to write automated integration tests using the open source Citrus integration test framework.

If you haven’t read the first article don’t worry. A quick summary of all the important bits will be shown shortly below. But before I get to that lets talk a little bit about automated integration testing and citrus.

One of the biggest challenges when testing any application is being able to simulate all endpoints.

more...

Author:Martin Maher
Tags:citrus, stomp, websocket
Categories:citrus, integration-testing