In cooperation with ConSol Consulting & Solutions Software GmbH in the last years a worldwide distributed highly automatic monitoring of logistics centres based on OMD was developed. Now, it consists of more than 200 cascaded and self-sufficient units that provide the administrators on site and in the central control with valuable information concerning their infrastructure and reporting-data. In addition to automatically generated infrastructure and server checks, also detailed business process- and end-to-end monitoring is used, to create detailed visualization in addition to notifications. The system, which has run smoothly for several years, is currently being transferred onto the OMD Labs Edition, to ensure that it will handle future challenges such as container-monitoring. Furthermore, all approximately 11,000 branches of the subsidiaries are to be connected to the system.
2. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 2
Tobias Kempf / Michael Kraus
ÜBER UNS
"Tobias Kempf ist Junior Professio-
nal im Bereich Monitoring & CMDB
des IT - Dienstleisters der Schwarz
Gruppe. Das Thema Monitoring be-
gleitet ihn seit 2013 im täglichen
Arbeitsalltag."
“Michael Kraus ist Senior Consultant für
Open Source Monitoring bei ConSol in
München. Seit 2005 entwickelt und be-
treut er Monitoring-Umgebungen mit
Nagios und seinen Nachfolgern.”
4. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 4
ÜBER CONSOL
ConSol im Überblick
Geschäftsfelder u.a.:
● IT Consulting
● Individualsoftware
● Open-source monitoring
Zentrale in München
● Geschäftsstellen in Düsseldorf, Nürnberg
● Tochterfirmen in
○ San Francisco / USA
○ Krakau / Polen
○ Wien / Österreich
○ Dubai / VAE
5. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 5
ÜBER CONSOL
Open-source monitoring
Eigenentwicklungen:
● OMD (Open Monitoring Distribution) – Nagios & Co. in einem Paket
● Thruk – grafische universelle Weboberfläche für Nagios-Systeme
● Spezielle Plugins für Logfiles, Datenbanken, SAP, Netzwerk, Infrastruktur
● End-to-End-Monitoring von Applikationen mit Sakuli
● Monitoring von Java-Applikationsservern mit Jolokia
● Automatische Generierung von Nagios-Konfigurationsdateien mit coshsh
● Integration von Grafana/InfluxDB als Nachfolger von PNP/RRD
6. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 6
ÜBER CONSOL
Open-source monitoring
Kunden:
● Landeshauptstadt München
● Führender deutscher Automobilhersteller
● Dell EMC Virtustream
● ASFINAG
● BNP Paribas
● Bühler Group
● Schwarz Gruppe
● u.v.m.
9. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 9
STRUKTUR
Geographische Verteilung
Vertreten in
über 25 Ländern
Rund 11.460 Filialen
10.210 x Lidl
1.250 x Kaufland
ca. 390.000 Mitarbeiter
10. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 10
STRUKTUR
Schematische Darstellung
Z
28 Landeszentralen
1 Zentrale
ca. 182 Sonden
( ca. 11.000 Filialen )
HQ HQ HQ
WH WHWHST
11. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 11
L LL
W WWS
STRUKTUR
Kommunikationskanäle
SSH
ZOMD Interconnects sichern die
Kommunikation über alle Ebenen.
Konfiguration wird per Git von oben
nach unten verteilt.
Git
Git
Statusinformationen werden via
Livestatus von unten nach oben
durchgereicht.
Aggregation als Backends in Thruk.
Livestatus
Livestatus
HQ HQ HQ
WH WHWHST
12. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 12
STRUKTUR
Thruk Backends
Thruk Backends ermöglichen die Aggregierung
zahlreicher (OMD-)Instanzen in einer Oberfläche.
https://thruk.org
13. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 13
STRUKTUR
Lastverteilung
Zur Lastverteilung bei hoch ausgelasteten Sonden
können dedizierte Worker-Instanzen gestartet
werden, die sich per mod_gearman verbinden.
https://mod-gearman.org
WWW
SSH
Z
HQ
ST
14. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 14
AUTOMATISIERUNG
Generierung und Verteilung der Konfiguration
Z
5. Neues Gerät ist nach
maximal 3 Minuten im Monitoring
3. Replikation der Konfiguration auf
die zuständige Landeszentrale
check_git_updates
4. Replikation weiter auf die
zuständige Sonde
check_git_updates
coshsh
2. coshsh generiert Konfigurations-
dateien für Naemon
1. Administrator legt Gerät im
Config Self-service Portal an
HQ
ST WH
15. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 15
AUTOMATISIERUNG
Coshsh der Konfigurationsgenerator
● Open-source Framework, kein starres Tool
○ https://labs.consol.de/nagios/coshsh/
○ https://github.com/lausser/coshsh/
● Nahezu beliebige Datenquellen, auch gemischt:
○ Datenbanken
○ CMDBs
○ Excel-Sheets
● Klassendefinitionen in Python, Templating mit Jinja2
● Erzeugung von Git-Repositories
● Schutzmechanismen bei Massenänderungen
16. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 16
AUTOMATISIERUNG
Coshsh der Konfigurationsgenerator
Datenquelle:
● Anbindung an Datenbank
● Auslesen der vorhandenen Felder
● Anreicherung der Daten, z.B.
○ Bild linux.png
○ Hostgruppe linux
● Vorbelegung mit Standardwerten
möglich
...
elif row['osandtype'] == 'Linux':
os = Application({
'host_name': row['host_name'],
'name': 'os',
'type': row['osandtype'],
})
self.add('applications', os)
h.icon_image = 'linux.png'
h.hostgroups.append('linux')
os.monitoring_details.append(MonitoringDetail({
'host_name': row['host_name'],
'application_name': 'os',
'application_type': row['osandtype'],
'monitoring_type': 'KEYVALUES',
'monitoring_0': 'cpu_warning',
'monitoring_1': row.get('os_cpu', 90),
'monitoring_2': 'cpu_critical',
'monitoring_3': row.get('os_cpu', 90),
}))
...
17. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 17
AUTOMATISIERUNG
Coshsh der Konfigurationsgenerator
z.B. Klasse os_linux.py:
● Vergleicht ein Feld der Datenquelle mit
einem Muster, z.B. *.rhel.*
● Ruft im einfachsten Fall Templates auf:
○ os_linux_default
○ os_linux_fs
● Es können aber auch beliebige
Anreicherungen und Transformationen
von Daten erfolgen
def __mi_ident__(params={}):
if coshsh.util.is_attr("name", params, "os") ↘
and coshsh.util.compare_attr("type", params, ↘
".*reds*hat.*|.*rhel.*|.*sles.*|.*centos.*"):
return Linux
class Linux(coshsh.application.Application):
template_rules = [
coshsh.templaterule.TemplateRule( ↘
needsattr=None, ↘
template="os_linux_default"),
coshsh.templaterule.TemplateRule( ↘
needsattr="filesystems", ↘
template="os_linux_fs"),
]
18. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 18
AUTOMATISIERUNG
Coshsh der Konfigurationsgenerator
z.B. Template os_linux_fs.tpl:
● Alle Möglichkeiten von Jinja2
● Alle in der Datenquelle definierten
Feldwerte können verwendet werden
{% for fs in application.filesystems %}
{{ application|service("os_linux_ fs_check_" + fs.path) }}
host_name {{ application.host_name }}
...
{% if fs.units == "%" %}
check_command
check_by_ssh!60!$_HOSTPLUGINPATH$/check_disk
-w {{ fs.warning }}% -c {{ fs.critical }}%
-p {{ fs.path }}
{% else %}
...
{% endif %}
{% endfor %}
19. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 19
AUTOMATISIERUNG
Konfigurationsverteilung mit check_git_updates
● basierend auf git-Repositories aus
coshsh
● hierarchische Struktur in mehreren
Ebenen:
Sonde kontaktiert darüber liegende
Instanz regelmäßig:
zentrale < be_hq < be_wh001
[recipe_be_hq]
max_delta = 90
objects_dir = %HOME%/siteconfigs/be/hq
datasources = lidldb
filter = lidldb(be:hq)
classes_dir = %HOME%/generator/recipes/lidl/classes
templates_dir = %HOME%/generator/recipes/lidl/templates
[recipe_be_wh001]
...
objects_dir = %HOME%/siteconfigs/be/wh001
filter = lidldb(be:wh001)
...
[recipe_be_stores]
...
objects_dir = %HOME%/siteconfigs/be/stores
filter = lidldb(be:stores)
...
22. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 22
BETRIEB
Inbetriebnahme
● Bereitstellung einer (ESX-) Basis-VM mit RedHat Enterprise Linux 7
● Erstinstallation der OMD Labs-Edition und eines Addon-Pakets als RPM aus einem eigenen
Repository automatisiert via Puppet
● Eintragung der neuen Sonde in der zentralen Instanz
● Automatische Aktionen nach Erstinstallation
● Feststellung der eigenen Rolle anhand des vergebenen Hostnamens
○ hq
○ wh
○ wrk
○ stores
● Kontaktierung der nächsthöheren Ebene und Start der Replikation
23. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 23
BETRIEB
Kommunikation und Wartung mit Ansible
● Auf Basis der replizierten Git-Repositories werden automatisch erzeugt bzw. aktualisiert:
○ Portliste für OMD Interconnects
○ SSH Konfiguration
○ Ansible Host-Inventory
● Portliste und SSH Konfiguration notwendig für Git- und Livestatus-Kommunikation
● Ansible Host-Inventory wird für Wartungsarbeiten verwendet:
○ Bereitstellung neuer OMD Versionen
○ Updates der Instanzen auf neue OMD Version
○ Einspielung von (OMD-) Patch-Updates
25. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 25
WEITERENTWICKLUNG
Zuständigkeiten
● Monitoring-Team kümmert sich um Weiterentwicklung, einheitliche
Standards und Gesamtübersicht
● Internationale Expertengruppe mit Mitgliedern aus zahlreichen
Landesgesellschaften
● Administratoren vor Ort pflegen das Monitoring selbständig über das
Config Self-service Portal
● Zukünftig noch weitergehende Automatisierung, sobald CMDB
ausreichend Informationen enthält
26. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 26
WEITERENTWICKLUNG
Neue Monitoring-Definitionen
1. Neue Geräteklasse oder Idee im Ideenpool (zusätzliche Überwachung,
neue Anforderungen, geänderte Schwellwerte)
2. Expertengruppe mit Mitgliedern aus zahlreichen Landesgesellschaften
diskutiert Möglichkeiten
3. Erweiterung bzw. Änderung von coshsh und Config Portal wo nötig
4a. Neues oder geändertes Monitoring für existierende Geräte ist beim
nächsten coshsh-Lauf aktiv
4b. Neue Geräteklasse kann vom Administrator ausgewählt werden
27. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 27
PROJEKTVERLAUF
Die Anfänge
Juni 2012 Erste Aufstellung der Punkte, die für ein Monitoring relevant sind
August 2012 Erster Prototyp Sharepoint
Oktober 2012 Prototyp coshsh, git, automatische Verteilung
6.12.2012 1000 Hosts
Ende 2012 Lidl-Stiftung, CH und DE im Monitoring
Anfang 2013 NL, GB, ES, SK
Ende 2013 Alle Länder migriert bzw. mit Monitoring versorgt
28. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 28
PROJEKTVERLAUF
Weiterentwicklung
bis Mitte 2017 Kontinuierliche Weiterentwicklung bis OMD v1.31 unter SLES
37.000 Hosts und 161.000 Services im Monitoring
Mitte 2017 Beginn Umstieg auf RedHat und OMD Labs-Edition
Oktober 2017 BE als erstes Land produktiv mit OMD Labs-Edition v2.61
Anfang 2018 Aufnahme aller Filialen ins Monitoring, Migration der Legacy-Umgebung
(Schwarz, Kaufland)
Ziel: 355.000 Hosts, 1.500.000 Services
29. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 29
DATEN UND FAKTEN
Eingesetzte Software
Verwendete Komponenten
SLES mit OMD v.1.31, RHEL/CentOS mit OMD Labs-Edition v2.61 auf ESX-VMs
● Nagios bzw. Naemon
● coshsh
● PNP4Nagios
● Thruk
● Nagvis, Thruk PanoramaTools
● mod_gearman
● Livestatus
● LMD
● OpenSSH
● Git
● Ansible
● (Sharepoint)
● u.v.m.
30. Hochautomatisiertes Warenlogistik-Monitoring bei Europas größtem Handelsunternehmen
Schwarz IT GmbH & Co. KG // 22.11.2017 // 30
Vielen Dank für ihre
Aufmerksamkeit!
Schwarz IT GmbH & Co. KG
bereit.schwarz