monitoring von sap mit check_sap_health

33
Wir unternehmen IT. Monitoring von SAP mit check_sap_health Gerhard Laußer ConSol* Software GmbH Monitoring- Workshop 2014

Upload: gerhard-lausser

Post on 19-Jun-2015

4.286 views

Category:

Technology


9 download

DESCRIPTION

Monitoring von SAP mit den bisher vorhandenen Plugins beschränkte sich auf die Abfrage von CCMS-Metriken. In einem SAP-System steckt aber noch viel mehr, das sich überwachen lässt. Check_sap_health ist ein neues Plugin, welches in Perl geschrieben wurde. Es entstand in einem Projekt, bei dem von unterschiedlichen Standorten aus die Laufzeiten von BAPI-Aufrufen gemessen werden sollten. Durch die einfache Erweiterung des Plugins um selbstgeschriebene Perl-Elemente lassen sich beliebige Funktionen per RFC aufrufen und somit firmenspezifische Logik implementieren.“ Vortrag gehalten beim Workshop der Open-Source-Monitoring-Community 2014 in Berlin.

TRANSCRIPT

Page 1: Monitoring von SAP mit check_sap_health

Wir unternehmen IT.

Monitoring von SAP mitcheck_sap_health

Gerhard LaußerConSol* Software GmbH

Monitoring-Workshop 2014

Page 2: Monitoring von SAP mit check_sap_health

Seite

Warum ein weiteres/neues SAP-Plugin?

Weil

ich meine Plugins kontinuierlich weiterentwickeln/vereinheitlichen will und deshalb Perl für mich besser ist als C. (GLPlugin.pm)

ich Anforderungen schnell umsetzen will und das mit einer Scriptingsprache schneller geht als mit Compiliererei.

sich die „Plugin im Plugin“-Methode bewährt hat. (--mode my-zeugs)

ich Performancedaten will.

13.04.2023 www.consol.de2

Page 3: Monitoring von SAP mit check_sap_health

Seite

Warum ein weiteres/neues SAP-Plugin?

Weil

das uralte check_sap bei einem Kunden gecoredumpt hat.(_nicht_ das Netways-Plugin. Das ist saubere Arbeit, aber leider C)

/etc/sapmon/{agent,login,moni_tr}.cfg Gefrickel ist. (Und außerdem nicht zu gekapselten OMD-Sites passt)

Anforderungen in Richtung End2End/Businesslogik nicht zu einem starr kompilierten Plugin passen. (viel zu kundenspezifisch)

CCMS nur ein Teilaspekt ist und ich mit BAPI-Monitoring Neuland für Nagios erobern will. (Betriebswirtschaftliche Sicht)

das Plugin auch auf Windows laufen soll.

jemand für die Entwicklung bezahlt hat.

13.04.2023 www.consol.de3

Page 4: Monitoring von SAP mit check_sap_health

Seite

Runterladen, bauen, installieren

$ git clone http://github.com/lausser/check_sap_health$ cd check_sap_health$ autoreconf$ ./configure$ make$ cp plugins-scripts/check_sap_health \ $OMD_ROOT/local/lib/nagios/plugins

13.04.2023 www.consol.de4

Page 5: Monitoring von SAP mit check_sap_health

Seite

Perl-Modul sapnwrfc

$ cd /tmp$ SAPCAR -xf NWRFC_20-20004565-Linux-x86_64.SAR--> erzeugt /tmp/nwrfcsdk

$ perl -MCPAN -e "install sapnwrfc"… No libsapnwrfc installation found, usually in /usr/sap/nwrfcsdkWhich libsapnwrfc build path do you want to link against? /tmp/nwrfcsdk

$ cp libicudata.so.34 libicudecnumber.so libicui18n.so.34 libicuuc.so.34 \ libsapnwrfc.so libsapucum.so $OMD_ROOT/local/lib

13.04.2023 www.consol.de5

Page 6: Monitoring von SAP mit check_sap_health

Seite

Berechtigungen für den Monitoring-User

13.04.2023 www.consol.de6

S_RFC

S_XMI_LOG

S_XMI_PROD

Page 7: Monitoring von SAP mit check_sap_health

Seite

Klopf, Klopf

13.04.2023 www.consol.de7

$ check_sap_health \ --ashost 172.24.0.195 \ --sysnr 42 \ --username NAGIOS \ --password soigan \ --mode connection-timeOK - 0.06 seconds to connect as NAGIOS@NPL|'connection_time'=0.06;1;5;;

$ check_sap_health \ --ashost 172.24.0.195 \ --sysnr 42 \ --username NAGIOS \ --password soigan \ --mode connection-time --warning 0.05 \ --critical 1WARNING - 0.07 seconds to connect as NAGIOS@NPL | 'connection_time'=0.07;0.05;1;;

Page 8: Monitoring von SAP mit check_sap_health

Seite

Klopf, Klopf – keiner daheim

13.04.2023 www.consol.de8

$ check_sap_health \ --ashost 172.24.0.195 \ --sysnr 42 \ --username NAGIOS \ --password soigan \ --mode connection-timeCRITICAL - cannot create rfc connection: RFC connection open failed: 1 / RFC_COMMUNICATION_FAILURE / LOCATION CPIC (TCP/IP) on local host with UnicodeERROR partner '172.24.0.195:3342' not reachedTIME Tue May 13 13:22:30 2014RELEASE 720COMPONENT NI (network interface)VERSION 40RC -10MODULE nixxi.cppLINE 3285DETAIL NiPConnect2: 172.24.0.195:3342SYSTEM CALL connectERRNO 111ERRNO TEXT Connection refusedCOUNTER 1

Page 9: Monitoring von SAP mit check_sap_health

Seite

Klopf, Klopf – keiner daheim - Aufräumen

13.04.2023 www.consol.de9

$ check_sap_health \ --ashost 172.24.0.195 \ --sysnr 42 \ --username NAGIOS \ --password soigan \ --mode connection-timeCRITICAL - cannot create rfc connection: RFC connection open failed: 1 / RFC_COMMUNICATION_FAILURE / $ ls /tmp… rfc03337_2240837376.trc rfc11683_456742656.trc rfc03384_3936470784.trc rfc15772_808535808.trc rfc03386_4080981760.trc rfc15774_2616141568.trc…

hinterlässt /tmp/dev_rfc.trc (wächst und wächst…) oder rfc<pid>.trc (müllt $RFC_TRACE_DIR zu)check_sap_health löscht selbständig Files, die älter als 5 Minuten sind.

Page 10: Monitoring von SAP mit check_sap_health

Seite

CCMS-Baum auflisten – zuerst die Monitor Sets

13.04.2023 www.consol.de10

$ check_sap_health … --mode list-ccms-monitor-setsFlowLogicAccess Klaus SAP (CEN) B2B Procurement - Monitors SAP (CEN) EBP Procurement Internal Monitors SAP (CEN) EnterpriseBuyer Monitors SAP APO Monitor SAP BI Monitors SAP Business Communication SAP Business Workflow SAP CCMS Admin Workplace SAP CCMS Monitor Templates SAP CCMS Monitors for Optional Components SAP CCMS Technical Expert Monitors SAP CCMS Technical Operations Templates SAP CCMS Web Admin Monitor Templates SAP CRM Monitor Templates SAP CRM Monitor Templates for Release 6.20 SAP E-Sourcing Monitor Template SAP EM Monitor Templates SAP ERP Monitor Templates SAP EWM Monitor Templates SAP GBT Monitor Templates SAP GDS Monitor Set SAP GRC Global Trade Services Monitors SAP IW - Monitors SAP J2EE Monitor Templates SAP LPO Lean Production and Operations Monitor Templates SAP Mobile Infrastructure Monitor Templates SAP NetWeaver Enterprise Search Monitor Templates SAP OperatorWorkplace SAP Portfolio and Project Management Monitor Templates SAP Process Monitoring Infrastructure SAP RRR Monitor SAP SCM Basis Monitor Templates SAP SCM Monitor Templates SAP SNC Monitor Templates

Page 11: Monitoring von SAP mit check_sap_health

Seite

CCMS-Baum auflisten – dann die Monitore

13.04.2023 www.consol.de11

$ check_sap_health … --mode list-ccms-monitors \ --name "SAP CCMS Monitor Templates" SAP CCMS Monitor Templates Availability and Performance Overview Background Processing Buffers Change & Transport System Communications Data Archiving Database Dialog Overview Dialog per Application Server Enqueue Entire System Exchange Infrastructure Filesystems J2EE Applications J2EE Engine Operating System Performance Overview Remote Databases Security Spool System Syslog System Configuration System Errors VM Container Workload Collector liveCache OK - have fun

Page 12: Monitoring von SAP mit check_sap_health

Seite

CCMS-Baum auflisten – dann die MTEs

13.04.2023 www.consol.de12

• MT_CLASS_PERFORMANCE$ check_sap_health … --mode list-ccms-mtes --name "SAP CCMS Monitor Templates" --name2 "Enqueue"NPL\Enqueue\Enqueue 50NPL\Enqueue\Enqueue Server\ 70NPL\Enqueue\Enqueue Server\Backup Requests 100NPL\Enqueue\Enqueue Server\CleanUp Requests 100…NPL\Enqueue\Enqueue Server\Enqueue Requests 100NPL\Enqueue\Enqueue Server\Granule Arguments 111NPL\Enqueue\Enqueue Server\Granule Arguments Actual Utilisation 100NPL\Enqueue\Enqueue Server\Granule Arguments Peak Utilisation 111NPL\Enqueue\Enqueue Server\Granule Entries 111…NPL\Enqueue\Enqueue Server\Owner Names Actual Utilisation 100NPL\Enqueue\Enqueue Server\Owner Names Peak Utilisation 111NPL\Enqueue\Enqueue Server\Recent Lock Time (per minute) 100NPL\Enqueue\Enqueue Server\Recent Lock Wait Time (per minute) 100NPL\Enqueue\Enqueue Server\Recent Server Time (per minute) 100…NPL\Enqueue\Enqueue Server\Runtime of Data Collector 100NPL\Enqueue\Enqueue Server\Total Lock Time 111NPL\Enqueue\Enqueue Server\Total Lock Wait Time 111NPL\Enqueue\Enqueue Server\Update Queue Peak 111NPL\nplhost_NPL_42\EnqueueClient\ 70…NPL\nplhost_NPL_42\EnqueueServer\Utilisation Granule Arguments 100NPL\nplhost_NPL_42\EnqueueServer\Utilisation Granule Entries 100NPL\nplhost_NPL_42\EnqueueServer\Utilisation Owner Names 100\Connection to Standalone Enqueue 199\Enqueue 199\Enqueue Clients 199OK

100 = MT_CLASS_PERFORMANCE

111 = MT_CLASS_SHORTTEXT

Page 13: Monitoring von SAP mit check_sap_health

Seite

CCMS-MTE herausgreifen

13.04.2023 www.consol.de13

• MT_CLASS_PERFORMANCE

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "NPL\Enqueue\Enqueue Server\Total Lock Time" OK - Total Lock Time = 0.188 s | 'Enqueue Server_Total Lock Time'=0.18s;;;;

Page 14: Monitoring von SAP mit check_sap_health

Seite

Nochmal, aber ohne hässliche Backslashes

13.04.2023 www.consol.de14

• MT_CLASS_PERFORMANCE

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "NPL#Enqueue#Enqueue Server#Total Lock Time" \ --separator "#"OK - Total Lock Time = 0.188 s | 'Enqueue Server_Total Lock Time'=0.18s;;;;

Page 15: Monitoring von SAP mit check_sap_health

Seite

Mit regulären Ausdrücken

13.04.2023 www.consol.de15

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "Lock Time" --regexpOK - Enqueue Server Recent Lock Time (per minute) = 0s, Total Lock Time = 0.195 s | 'Enqueue Server_Recent Lock Time (per minute)'=0s;0:;0:;; 'Enqueue Server_Total Lock Time'=0.20s;;;;

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "Lock.*Time" --regexpOK - Enqueue Server Recent Lock Time (per minute) = 0s, Enqueue Server Recent Lock Wait Time (per minute) = 0s, Total Lock Time = 0.195 s, Total Lock Wait Time = 0.031 s | 'Enqueue Server_Recent Lock Time (per minute)'=0s;0:;0:;; 'Enqueue Server_Recent Lock Wait Time (per minute)'=0s;0:;0:;; 'Enqueue Server_Total Lock Time'=0.20s;;;; 'Enqueue Server_Total Lock Wait Time'=0.03s;;;;

Page 16: Monitoring von SAP mit check_sap_health

Seite

CCMS auslesen

13.04.2023 www.consol.de16

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Dialog Overview" OK - Dialog FrontEndNetTime = 0msec, Dialog ResponseTime = 380msec, Dialog ResponseTime(StandardTran.) = 13msec, Dialog UsersLoggedIn = 2 | 'Dialog_FrontEndNetTime'=0ms;2000;3000;; 'Dialog_ResponseTime'=380ms;2000;3000;; 'Dialog_ResponseTime(StandardTran.)'=13ms;1500;2500;; 'Dialog_UsersLoggedIn'=2;500;750;;

Page 17: Monitoring von SAP mit check_sap_health

Seite

CCMS auslesen mit mehrzeiligem Output

13.04.2023 www.consol.de17

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Dialog Overview" \ --multilineOK - Dialog FrontEndNetTime = 0msecDialog ResponseTime = 297msecDialog ResponseTime(StandardTran.) = 13msecDialog UsersLoggedIn = 2 | 'Dialog_FrontEndNetTime'=0ms;2000;3000;; 'Dialog_ResponseTime'=297ms;2000;3000;; 'Dialog_ResponseTime(StandardTran.)'=13ms;1500;2500;; 'Dialog_UsersLoggedIn'=2;500;750;;

Page 18: Monitoring von SAP mit check_sap_health

Seite

CCMS auslesen

13.04.2023 www.consol.de18

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "(Enqueue Request Errors)|(Enqueue Request Rejects)" \ --regexp --multilineOK - Enqueue Server Enqueue Request Errors = 0/secEnqueue Server Enqueue Request Rejects = 0/sec | 'Enqueue Server_Enqueue Request Errors'=0;0:;0:;; 'Enqueue Server_Enqueue Request Rejects'=0;0:;0:;;

Page 19: Monitoring von SAP mit check_sap_health

Seite

CCMS am Solution Manager auslesen

13.04.2023 www.consol.de19

Im Solution Manager beinhalten die MTE-Namen zusätzlich die SID der angeschlossenen Systeme

$ check_sap_health … --mode ccms-mte-check \ --name "SAP CCMS Monitor Templates" \ --name2 "Enqueue" \ --name3 "\$_SERVICESID$\.*\(Enqueue Request Errors)|(Enqu…." \ --regexp --multiline

OK - Enqueue Server Enqueue Request Errors = 0/secEnqueue Server Enqueue Request Rejects = 0/sec | 'Enqueue Server_Enqueue Request Errors'=0;0:;0:;; 'Enqueue Server_Enqueue Request Rejects'=0;0:;0:;;

Page 20: Monitoring von SAP mit check_sap_health

Seite

CCMS Beispiele

13.04.2023 www.consol.de20

define service { service_description app_sap_NPL_default_check_datafile_offline host_name WAWIS12 use generic-service check_command check_sap_health_ccms!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ SAP CCMS Monitor Templates!Database!#Database file offline}define service { service_description app_sap_NPL_default_check_tablespace_usage host_name WAWIS12 use generic-service check_command check_sap_health_ccms!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ SAP CCMS Monitor Templates!Database!#Used space}define service { service_description app_sap_NPL_default_check_last_backup host_name WAWIS12 use generic-service check_command check_sap_health_ccms!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ SAP CCMS Monitor Templates!Database!#Last succ. complete database backup}define service { service_description app_sap_NPL_default_check_last_log_backup host_name WAWIS12 use generic-service check_command check_sap_health_ccms!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ SAP CCMS Monitor Templates!Database!#Archiving#Last succ. archive log backup}

define service { service_description app_sap_NPL_default_check_spool_used host_name WAWIS12 use generic-service check_command check_sap_health_ccms!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ SAP CCMS Monitor Templates!Spool System!#Spool#SpoolNumbers#UsedNumbers}define service { service_description app_sap_NPL_default_check_connect host_name WAWIS12 use generic-service,srv-pnp check_command check_sap_health!60!\ $HOSTADDRESS$!42!001!NAGIOS!soigan!\ connection-time!--warning 10 --critical 20}

define servicedependency { name dependency_app_sap_NPL_default_check_connect host_name WAWIS12 service_description app_sap_NPL_default_check_connect execution_failure_criteria u,c notification_failure_criteria u,c dependent_service_description \ app_sap_NPL_default_check_datafile_offline,\ app_sap_NPL_default_check_tablespace_usage,\ app_sap_NPL_default_check_last_backup,\ app_sap_NPL_default_check_last_log_backup,\ app_sap_NPL_default_check_spool_used,\ !app_sap_NPL_default_check_connect}

……Last Optimizer Run, Enqueue system, Shortdumps, Caches, Response Times, Optimizer Statistics, Deadlocks, Memory Management, R3Rollpaging, Aborted Jobs, uvm.

Page 21: Monitoring von SAP mit check_sap_health

Seite

CCMS ist nicht alles

SAP-Admins benutzen Solution Manager (d.h. CCMS mit Bordmitteln).

SAP-Admins sind gutmütig und haben kein Problem mit Nagios-Usern.

Nagios-Notification ist praktisch für Umbrella-Monitoring.

In SAP-Systemen stecken teure Anpassungen, core business critical enterprise key customer blablubb. Monitoring als Qualitätssicherung.

Fremdsysteme kommunizieren mit SAP (RFC-enabled functions).Verfügbarkeit der Schnittstellen (und Antwortzeiten) .

In SAP steckt viel Business-Logik. Der Zugriff von Aussen (Nagios) ist kein Hexenwerk.

Störungen im Materialfluss/Bestellwesen/Anlieferung/… erregen mehr Aufmerksamkeit als schlechte Dialog-Response-Zeiten.

13.04.2023 www.consol.de21

Page 22: Monitoring von SAP mit check_sap_health

Seite

Erweiterungen schreiben

13.04.2023 www.consol.de22

$OMD_ROOT/etc/check_sap_health/CheckSapHealthTest.pm

package MyTest;our @ISA = qw(Classes::SAP);use Time::HiRes;

sub init { my $self = shift; my $bapi_tic = Time::HiRes::time(); if ($self->mode =~ /my::test::rfcping/) { my $ping = $self->session->function_lookup("RFC_PING"); my $fc = $ping->create_function_call; my $frc = $fc->invoke(); $self->add_ok("pong"); # $fc kann jetzt weiter ausgewertet werden } my $bapi_tac = Time::HiRes::time(); my $bapi_duration = $bapi_tac - $bapi_tic; $self->set_thresholds(warning => 5, critical => 10); $self->add_message($self->check_thresholds($bapi_duration), sprintf "runtime was %.2fs", $bapi_duration); $self->add_perfdata( label => 'runtime', value => $bapi_duration, );}

Page 23: Monitoring von SAP mit check_sap_health

Seite

Erweiterungen schreiben – einfacher Demo-Ping

13.04.2023 www.consol.de23

package MyTest;…sub init {…if ($self->mode =~ /my::test::rfcping/) {

$ check_sap_health \ --with-mymodules-dyn-dir $USER4/check_sap_health \ --mode my-test-rfcpingOK - pong, runtime was 0.02s | 'runtime'=0.02;5;10;;

MyTestmy::test::rfcpingmy-test-rfcping

Page 24: Monitoring von SAP mit check_sap_health

Seite

API für selbstgeschriebene Erweiterungen

Man braucht sub init { my $self = shift;

$self->mode ist der Kommandozeilenparameter --mode in der internen Repräsentation. (Doppeldoppelpunkt statt Bindestrich)

$self->opts->para ist der Wert des Kommandozeilenparameter para

$self->session ist das Handle für die RFC-Verbindung

$self->add_ok(text), $self->add_warning(text), …

$self->set_thresholds(warning => defwarn, critical => defcrit)

$self->check_thresholds(value)

$self->add_perfdata(label => label, value => value, [uom => uom])

13.04.2023 www.consol.de24

Page 25: Monitoring von SAP mit check_sap_health

Seite

Beispiel 2: BAPI_BUPA_CENTRAL_GETLIST

13.04.2023 www.consol.de25

$ check_sap_health --with-mymodules-dyn-dir $USER4/etc/check_sap_health\ --mode my-bapi-bpgetlist --name A000000001OK - BAPI_BUPA_CENTRAL_GETDETAIL is OK, found partner ConSol* Software GmbH, runtime was 0.14s | 'runtime'=0.14;5;10;;

Page 26: Monitoring von SAP mit check_sap_health

Seite

BAPI-Schnittstellendefinition

13.04.2023 www.consol.de26

In der Transaktion SE37 kann man nach Funktionen suchen und ihre Aufruf- bzw. Rückgabeschnittstelle anschauen.

Page 27: Monitoring von SAP mit check_sap_health

Seite 13.04.2023 www.consol.de27

etc/check_sap_health/CheckSapHealthBapi.pm

package MyBapi;our @ISA = qw(Classes::SAP);use Time::HiRes;

sub init { my $self = shift; my $bapi_tic = Time::HiRes::time(); if ($self->mode eq "my::bapi::bpgetlist") { eval { my $fl = \$self->session->function_lookup("BAPI_BUPA_CENTRAL_GETLIST"); my $fc = $fl->create_function_call; $fc->BUSINESSPARTNER($self->opts->name); # A000000001 $fc->VALIDFROM("01010001"); $fc->VALIDTO("31129999"); $fc->invoke; my @rows = @{$fc->RETURN}; if (scalar(@rows) == 0) { # leere Tabelle RETURN ist OK $self->add_ok("BAPI_BUPA_CENTRAL_GETDETAIL is OK"); $fc->CENTRALDATAORGANIZATION->[0]->{NAME1} \ =~ s/\s+$//; $self->add_ok(sprintf "found partner %s", $fc->CENTRALDATAORGANIZATION->[0]->{NAME1}); } elsif (scalar(@rows) == 1) { if ($rows[0]->{TYPE} =~ /^(E|A)/) { $self->add_unknown($rows[0]->{MESSAGE}); } else { $self->add_ok("BAPI_BUPA_CENTRAL_GETDETAIL is OK"); }

} else { foreach my $row (@rows) { $errors++ if $row->{TYPE} =~ /^(E|A)/ \ && $rownum > 0; $rownum++; } $self->add_message($errors ? 2 : 0, sprintf "BAPI_BUPA_CENTRAL_GETDETAIL returned %d errors (in %d rows)", $errors, $rownum); } }; if ($@) { $self->add_unknown($@); } } elsif ($self->mode =~ /my::bapi::weiterefunktionen/) { } else { $self->add_unknown("unknown mode"); } my $bapi_tac = Time::HiRes::time(); my $bapi_duration = $bapi_tac - $bapi_tic; $self->set_thresholds(warning => 5, critical => 10); $self->add_message($self->check_thresholds($bapi_duration), sprintf "runtime was %.2fs", $bapi_duration); $self->add_perfdata( label => 'runtime', value => $bapi_duration, );}

Page 28: Monitoring von SAP mit check_sap_health

Seite

Job- und SLA-Monitoring

End-of-Day-Jobs und insbes. nächtliche Batches (bei Banken üblich) werden in Tabellen in SAP protokolliert, incl. Startzeit, Endezeit, Status.

Mit check_sap_health kann man überwachen, ob Jobs erfolgreich und innerhalb eines SLA-Fensters abgeschlossen wurden.(Oder man verwendet check_sap_health, um solche Daten aus SAP zu holen und in eine generische Job-Tabelle zu schreiben)

Bsp.: Job muss um 07:45 fertig sein, ab 10 Min. Verspätung gibt‘s Ärger.

check_sap_health --mode my-eod-sla \ --name FI_LOAN_CALC \ --name2 07:45 \ --warning 0 --critical 600

13.04.2023 www.consol.de28

Page 29: Monitoring von SAP mit check_sap_health

Seite

Tabellen auslesen, z.B. SNAP

Fehlerzustände, sog. Shortdumps, werden in SAP protokolliert.In der Transaktion ST22 kann man routinemäßig nachsehen.

13.04.2023 www.consol.de29

Page 30: Monitoring von SAP mit check_sap_health

Seite

Tabellen auslesen, z.B. SNAP

Intern stehen die Shortdumps in der Tabelle SNAP.Mit RFC kann man die Tabelle auslesen und prüfen, ob seit dem letzten Lauf des Plugins neue Dumps hinzugekommen sind.

$ check_sap_health … \ --with-mymodules-dyn-dir $OMD_ROOT/etc/check_sap_health \ --mode my-snap-dumps-checkOK - no new shortdumps$$ check_sap_health … \ --with-mymodules-dyn-dir $OMD_ROOT/etc/check_sap_health \ --mode my-snap-dumps-checkCRITICAL - 2 new shortdumps appeared between 20140509 171649 and 20140513 164249

13.04.2023 www.consol.de30

Page 31: Monitoring von SAP mit check_sap_health

Seite

Praxiseinsatz

Handelskonzern, >20 weltweite Standorte, überwiegend CCMS-Monitoring, Businesslogik folgt in einem späteren Projektstadium.

Eine der grössten südeutschen Kommunen.

**Bank, von mehreren Standorten in aller Welt werden die Laufzeiten von geschäftskritischen BAPIs gemessen. Vor Ort stehen Windows7-PCs (in erster Linie für Sakuli-Tests), per NSClient++ wird check_sap_health.exe aufgerufen.

Weltbekannter Leuchtmittelhersteller.

13.04.2023 www.consol.de31

Page 32: Monitoring von SAP mit check_sap_health

Seite

Ausblick

Generischer Modus für DB-Optimizer (Oracle, Maxdb..).

Implementierung von best-practice SAP-Basis-Routine-Prüfungen .

MTE-übergreifende Performancemessungen und Lösungsvorschläge.

Aber: nur dann, wenn jemand die Entwicklung bezahlt. Ich helfe gerne bei der Analyse und der Implementierung des Applikations/Business-Monitorings, allerdings nur bei einer formellen, sprich bezahlten Beauftragung. Mails mit dem Inhalt „Super Tool. Wir möchten…..kannst du mal….“ oder gar „…unser Kunde möchte…kannst du mal…“ werde ich vermutlich nicht beantworten. Open Source bedeutet nicht gratis Consulting.

13.04.2023 www.consol.de32

Kleingedrucktes

Page 33: Monitoring von SAP mit check_sap_health

Seite 33 13.04.2023 www.consol.de

ConSol* Software GmbH

Franziskanerstraße 38 D-81669 München

Tel: +49-89-45841-100

Fax: +49-89-45841-111

[email protected]