+ All Categories
Home > Technology > Checksaphealth 140516191501-phpapp02

Checksaphealth 140516191501-phpapp02

Date post: 04-Jul-2015
Category:
Upload: consol-consulting-solutions-software-gmbh
View: 88 times
Download: 16 times
Share this document with a friend
33
Wir unternehmen IT. Monitoring von SAP mit check_sap_health Gerhard Laußer ConSol* Software GmbH Monitoring- Workshop 2014
Transcript
Page 1: Checksaphealth 140516191501-phpapp02

Wir unternehmen IT.

Monitoring von SAP mit

check_sap_health

Gerhard Laußer

ConSol* Software GmbH

Monitoring-

Workshop 2014

Page 2: Checksaphealth 140516191501-phpapp02

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.

27.11.2014 www.consol.de2

Page 3: Checksaphealth 140516191501-phpapp02

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.

27.11.2014 www.consol.de3

Page 4: Checksaphealth 140516191501-phpapp02

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

27.11.2014 www.consol.de4

Page 5: Checksaphealth 140516191501-phpapp02

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/nwrfcsdk

Which 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

27.11.2014 www.consol.de5

Page 6: Checksaphealth 140516191501-phpapp02

Seite

Berechtigungen für den Monitoring-User

27.11.2014 www.consol.de6

Page 7: Checksaphealth 140516191501-phpapp02

Seite

Klopf, Klopf

27.11.2014 www.consol.de7

$ check_sap_health \--ashost 172.24.0.195 \--sysnr 42 \--username NAGIOS \--password soigan \--mode connection-time

OK - 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 1

WARNING - 0.07 seconds to connect as NAGIOS@NPL | 'connection_time'=0.07;0.05;1;;

Page 8: Checksaphealth 140516191501-phpapp02

Seite

Klopf, Klopf – keiner daheim

27.11.2014 www.consol.de8

$ check_sap_health \--ashost 172.24.0.195 \--sysnr 42 \--username NAGIOS \--password soigan \--mode connection-time

CRITICAL - 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: Checksaphealth 140516191501-phpapp02

Seite

Klopf, Klopf – keiner daheim - Aufräumen

27.11.2014 www.consol.de9

$ check_sap_health \--ashost 172.24.0.195 \--sysnr 42 \--username NAGIOS \--password soigan \--mode connection-time

CRITICAL - 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: Checksaphealth 140516191501-phpapp02

Seite

CCMS-Baum auflisten – zuerst die Monitor Sets

27.11.2014 www.consol.de10

$ check_sap_health … --mode list-ccms-monitor-sets

FlowLogicAccess

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: Checksaphealth 140516191501-phpapp02

Seite

CCMS-Baum auflisten – dann die Monitore

27.11.2014 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: Checksaphealth 140516191501-phpapp02

Seite

CCMS-Baum auflisten – dann die MTEs

27.11.2014 www.consol.de12

• MT_CLASS_PERFORMANCE$ check_sap_health … --mode list-ccms-mtes --name "SAP CCMS Monitor

Templates" --name2 "Enqueue"

NPL\Enqueue\Enqueue 50

NPL\Enqueue\Enqueue Server\ 70

NPL\Enqueue\Enqueue Server\Backup Requests 100

NPL\Enqueue\Enqueue Server\CleanUp Requests 100

NPL\Enqueue\Enqueue Server\Enqueue Requests 100

NPL\Enqueue\Enqueue Server\Granule Arguments 111

NPL\Enqueue\Enqueue Server\Granule Arguments Actual Utilisation 100

NPL\Enqueue\Enqueue Server\Granule Arguments Peak Utilisation 111

NPL\Enqueue\Enqueue Server\Granule Entries 111

NPL\Enqueue\Enqueue Server\Owner Names Actual Utilisation 100

NPL\Enqueue\Enqueue Server\Owner Names Peak Utilisation 111

NPL\Enqueue\Enqueue Server\Recent Lock Time (per minute) 100

NPL\Enqueue\Enqueue Server\Recent Lock Wait Time (per minute) 100

NPL\Enqueue\Enqueue Server\Recent Server Time (per minute) 100

NPL\Enqueue\Enqueue Server\Runtime of Data Collector 100

NPL\Enqueue\Enqueue Server\Total Lock Time 111

NPL\Enqueue\Enqueue Server\Total Lock Wait Time 111

NPL\Enqueue\Enqueue Server\Update Queue Peak 111

NPL\nplhost_NPL_42\EnqueueClient\ 70

NPL\nplhost_NPL_42\EnqueueServer\Utilisation Granule Arguments 100

NPL\nplhost_NPL_42\EnqueueServer\Utilisation Granule Entries 100

NPL\nplhost_NPL_42\EnqueueServer\Utilisation Owner Names 100

\Connection to Standalone Enqueue 199

\Enqueue 199

\Enqueue Clients 199

OK

100 = MT_CLASS_PERFORMANCE

111 = MT_CLASS_SHORTTEXT

Page 13: Checksaphealth 140516191501-phpapp02

Seite

CCMS-MTE herausgreifen

27.11.2014 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: Checksaphealth 140516191501-phpapp02

Seite

Nochmal, aber ohne hässliche Backslashes

27.11.2014 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: Checksaphealth 140516191501-phpapp02

Seite

Mit regulären Ausdrücken

27.11.2014 www.consol.de15

$ check_sap_health … --mode ccms-mte-check \

--name "SAP CCMS Monitor Templates" \

--name2 "Enqueue" \

--name3 "Lock Time" --regexp

OK - 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" --regexp

OK - 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: Checksaphealth 140516191501-phpapp02

Seite

CCMS auslesen

27.11.2014 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: Checksaphealth 140516191501-phpapp02

Seite

CCMS auslesen mit mehrzeiligem Output

27.11.2014 www.consol.de17

$ check_sap_health … --mode ccms-mte-check \

--name "SAP CCMS Monitor Templates" \

--name2 "Dialog Overview" \

--multiline

OK - Dialog FrontEndNetTime = 0msec

Dialog ResponseTime = 297msec

Dialog ResponseTime(StandardTran.) = 13msec

Dialog 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: Checksaphealth 140516191501-phpapp02

Seite

CCMS auslesen

27.11.2014 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 --multiline

OK - Enqueue Server Enqueue Request Errors = 0/sec

Enqueue Server Enqueue Request Rejects = 0/sec | 'Enqueue

Server_Enqueue Request Errors'=0;0:;0:;; 'Enqueue Server_Enqueue

Request Rejects'=0;0:;0:;;

Page 19: Checksaphealth 140516191501-phpapp02

Seite

CCMS am Solution Manager auslesen

27.11.2014 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/sec

Enqueue Server Enqueue Request Rejects = 0/sec | 'Enqueue

Server_Enqueue Request Errors'=0;0:;0:;; 'Enqueue Server_Enqueue

Request Rejects'=0;0:;0:;;

Page 20: Checksaphealth 140516191501-phpapp02

Seite

CCMS Beispiele

27.11.2014 www.consol.de20

define service {service_description app_sap_NPL_default_check_datafile_offlinehost_name WAWIS12use generic-servicecheck_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_usagehost_name WAWIS12use generic-servicecheck_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_backuphost_name WAWIS12use generic-servicecheck_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_backuphost_name WAWIS12use generic-servicecheck_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_usedhost_name WAWIS12use generic-servicecheck_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_connecthost_name WAWIS12use generic-service,srv-pnpcheck_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_connecthost_name WAWIS12service_description app_sap_NPL_default_check_connectexecution_failure_criteria u,cnotification_failure_criteria u,cdependent_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: Checksaphealth 140516191501-phpapp02

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.

27.11.2014 www.consol.de21

Page 22: Checksaphealth 140516191501-phpapp02

Seite

Erweiterungen schreiben

27.11.2014 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: Checksaphealth 140516191501-phpapp02

Seite

Erweiterungen schreiben – einfacher Demo-Ping

27.11.2014 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-rfcping

OK - pong, runtime was 0.02s | 'runtime'=0.02;5;10;;

MyTest

my::test::rfcping

my-test-rfcping

Page 24: Checksaphealth 140516191501-phpapp02

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])

27.11.2014 www.consol.de24

Page 25: Checksaphealth 140516191501-phpapp02

Seite

Beispiel 2: BAPI_BUPA_CENTRAL_GETLIST

27.11.2014 www.consol.de25

$ check_sap_health --with-mymodules-dyn-dir $USER4/etc/check_sap_health\--mode my-bapi-bpgetlist --name A000000001

OK - BAPI_BUPA_CENTRAL_GETDETAIL is OK, found partner ConSol* Software GmbH, runtime was 0.14s | 'runtime'=0.14;5;10;;

Page 26: Checksaphealth 140516191501-phpapp02

Seite

BAPI-Schnittstellendefinition

27.11.2014 www.consol.de26

In der Transaktion SE37

kann man nach

Funktionen suchen und

ihre Aufruf- bzw.

Rückgabeschnittstelle

anschauen.

Page 27: Checksaphealth 140516191501-phpapp02

Seite 27.11.2014 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: Checksaphealth 140516191501-phpapp02

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

27.11.2014 www.consol.de28

Page 29: Checksaphealth 140516191501-phpapp02

Seite

Tabellen auslesen, z.B. SNAP

Fehlerzustände, sog. Shortdumps, werden in SAP protokolliert.

In der Transaktion ST22 kann man routinemäßig nachsehen.

27.11.2014 www.consol.de29

Page 30: Checksaphealth 140516191501-phpapp02

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-check

OK - no new shortdumps$$ check_sap_health … \

--with-mymodules-dyn-dir $OMD_ROOT/etc/check_sap_health \--mode my-snap-dumps-check

CRITICAL - 2 new shortdumps appeared between 20140509 171649 and 20140513 164249

27.11.2014 www.consol.de30

Page 31: Checksaphealth 140516191501-phpapp02

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.

27.11.2014 www.consol.de31

Page 32: Checksaphealth 140516191501-phpapp02

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.

27.11.2014 www.consol.de32

Kleingedrucktes

Page 33: Checksaphealth 140516191501-phpapp02

Seite 3327.11.2014 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]

www.consol.de


Recommended