Business ProzessMonitoring mit BPView DI (FH) René Koch rene.koch@siedl.net 1/46
Agenda Was ist BPView? Monitoring Daten sammeln Überblick über das Web UI Dashboards und Business Prozesse definieren Roadmap Fragen und Antworten 2/46
Was ist BPView? 3/46
Was ist BPView? Webbasiertes Monitoring Add-On Ausgelegt für Großbildfernseher Sammlung von Monitoring Daten Korrelation und Darstellung von Business Prozessen 4/46
Entstehung BPView Aufbau Monitoring-System bei s IT Solutions AT (OSMC 2013: http://tinyurl.com/lsemm4b) Icinga Web für große Installationen zu langsam Notwendigkeit Checks nach Produkten zu gruppieren und kategorisieren Business Process Addon Top Level Views (ING DiBA OSMC 2012: http://tinyurl.com/pjdlthu) 5/46
Entstehung BPView Business Process Addon: Funktionalität (Korrelation) ok, User Interface nicht geeignet für die Anforderungen Top Level View : übersichtliche UI, weniger Korrelations-Möglichkeiten wie BP-Addon, stark mit Icinga Web verknüpft Entwicklung von BPView 6/46
Entstehung BPView Web Interface ähnlich Top Level Views Funktionalität Business Process Addon (Korrelation) 3 Ebenen: Environments, Produktgruppen, Produkte/Business Prozesse Dashboards (Team-/Kundensichten) Detailansicht der Host- und Servicechecks Übernahme der Daten aus Icinga 7/46
Komponenten BPView Web Interface bpviewd memcached (Version 0.10) Cache-Dateien Konfigurationsdateien Icinga (Version 0.10) Business Process Addon 8/46
Komponenten BPView bpviewd tcp/7777 Benutzer BPView Web UI tcp/11211 Business Prozesse Host/Servicechecks Konfigurationen KonfigurationsDateien Cache-Dateien memcached 9/46
Monitoring Daten sammeln 10/46
Monitoring Daten sammeln Host- und Service-Checks werden von Monitoring-Backends periodisch gesynct Interval definiert in bpviewd.yml: bpviewd: sleep: 300 Backend-Daten definiert in datasource.yml: provider: source: mk-livestatus 11/46
Monitoring Daten sammeln Speicherung in Cache-Files (Ramdisk): mk-livestatus: cache_time: 30 cache_file: /dev/shm/bpview_mklivestatus_cache 12/46
Unterstütze Backends Icinga/Nagios/kompatible Forks: IDOutils mit MySQL-DB IDOutils mit PostgreSQL-DB NDOutils mit MySQL-DB mk-livestatus Weitere geplant (z.b. Zabbix) 13/46
Überblick über das Web UI 14/46
Web Interface Darstellung in allen gängigen Browsern JavaScript wird zwingend benötigt Apache-Webserver mit CGI Nur Darstellung Logik macht bpviewd Authentifizierung via z.b. mod_authz_ldap Geschrieben in Perl (Template Toolkit), HTML, CSS, JavaScript (jquery) 15/46
16/46
Web Interface - Menü 17/46
Dashboards und Business Prozesse definieren 18/46
Dashboards YAML-Konfigurationsdatei (*.yml) Aufbau: Dashboard Name Section (Aufteilung in Dashboard-Gruppen) Environment (z.b. Produktion/Entwicklung/Testing) Topics (Produktgruppen) Product (Business Prozess) 19/46
Dashboard mit Environments "Siedl Networks Alternative": section: "Siedl Networks GmbH" "External": "mailsystem": views: "webservices": "Produktion": "monitoring": display: order: 1 "Demo": inrow: 2 display: sort: alphabetical order: 2 topics: inrow: 1 "Internal": sort: alphabetical "terminalserver": topics: "active_directory": "Services": "network": "demo.siedl.net": "backup": "monitoring": 20/46
Dashboard mit Environments 21/46
Dashboard - Darstellung Darstellung definiert über display Konfigurationsblock: views: "Produktion": display: order: 1 inrow: 5 sort: alphabetical 22/46
Dashboard - alphabetisch sort: alphabetical 23/46
Dashboard - productnumbers sort: productnumbers 24/46
Dashboard - Anzahl Topics inrow: 2 25/46
Dashboard - Details Klick auf Product (Business Prozess) zeigt Details an Anzeige aller Service- und Hostchecks ( HOSTCHECK wenn definiert) Übernahme aus Cache-File oder live Filter gelten auch für Details 26/46
Dashboard - Details 27/46
Dashboard - Filter Filter nach Stati Filter nach Hostnamen Via Menü oder Query String: &filter=state+ok &filter=name+fileserver 28/46
Dashboard - Status Filter Vordefinierte Filter + custom Filter 29/46
Dashboard - Hostname Filter 30/46
Business Prozesse definieren Business Prozesse werden in /etc/bpview/bpconfig/*.yml definiert Dateiname: <environment>-<topic>-<product>.yml Muss gleich lauten wie im Dashboard definiert Umlaute, Sonderzeichen durch _ ersetzen Korrelation macht bpviewd 31/46
Business Prozess Korrelation Service und/oder Hostchecks werden über die folgende Logik korreliert AND OR MIN OR und MIN aktuell noch nicht 100% unterstützt (z.b. kein Host-Down Status) 32/46
Business Prozess Korrelation Business Prozess Stati: Status Farbe Code Not monitored Grau 99 Major (Host down) Schwarz 98 Critical Rot 2 Warning Gelb 1 Unknown Orange 3 OK Grün 0 33/46
Business Prozess Korrelation YAML-Konfigurationsdatei (*.yml) Aufbau: Dateiname (interner Business Prozess Name) Name Type (AND OR MIN) Hosts Services 34/46
Business Prozess Korrelation demo-services-demo_siedl_net: BP: "Postfix Mailqueue": NAME: "demo.siedl.net" TYPE: and "DISK /": MIND: 0 "MySQL Server": HOSTS: "UCS SSL Zertifikat": "demosrv": "Apache Server": "Load Usage": "PING": "DISK /var": "IMAP Dienst": "POP3 Dienst": "HTTPS Webaccess": "Swap Usage": "Zarafa Dienste": "SSH Deamon": "Zarafa Outlook": "Memory Usage": 35/46
Business Prozess Korrelation 36/46
Business Prozess Korrelation 37/46
Roadmap 38/46
Roadmap BPView 0.10: Dezember 2014 Keine fixen Pfade in Dateien (#54) Icinga durch memcached/bpviewd ersetzen (#40) Host down-event aufnehmen (#20) Code Cleanup 39/46
Roadmap BPView 0.11: Scheduled Downtimes (#40) Hostsuche in allen Dashboards (#39) Alter der Monitoringdaten anzeigen (#31) Verbessertes Logging (#13) 40/46
Roadmap Dokumentation (publican) BOOK PUBLISHING TOOL Mehrere Monitoring Backends (Provider) nutzbar Webseite (bpview.org) Code Cleanup Maillingliste 41/46
Roadmap Modulares System für Data Provider Weitere Data Provider (z.b. Zabbix) RHEL 7 Support Debian/Ubuntu Support SUSE Support SELinux Support 42/46
BPView Unterstützung 43/46
BPView Unterstützung Testen Feedback Mitwirken Backend Code / zusätzliche Provider (Perl) Frontend (HTML/CSS/JavaScript/Design) Dokumentation/Webseite 44/46
Weitere Informationen Webseite (in Arbeit): http://www.bpview.org Github: https://github.com/bpview Maillingliste (in Arbeit) 45/46
Danke für die Aufmerksamkeit! Fragen? 46/46