Posted: Sun Nov 25, 2007 12:27 pm Post subject: Monitors the SAP alerts and sends an express mail
This program monitors the SAP alerts and sends an express mail if a red alert occurs
Code:
REPORT ZALERTS NO STANDARD PAGE HEADING LINE-SIZE 132.
******************************************************
* This program monitores the SAP red alerts, and in *
* case of an alert, sends an express mail to the *
* administrator, including the alert type and the *
* description of the error. The program should be *
* scheduled to run in batch in every hour or so. *
* The alert thesholds should be configured using *
* RZ06. The program was tested on 3.1H *
******************************************************
INCLUDE RSALINC1.
INCLUDE RSALICSL.
DATA: TXT(12),
CL TYPE I,
SERVER LIKE SPFIS-APSERVER,
SERVER_TYPE TYPE I,
RED_FLAG TYPE I.
DATA: BEGIN OF EMAIL_DATA.
INCLUDE STRUCTURE SODOCCHGI1.
DATA: END OF EMAIL_DATA.
DATA: BEGIN OF EMAIL_SEND OCCURS 10.
INCLUDE STRUCTURE SOMLRECI1.
DATA: END OF EMAIL_SEND.
DATA: BEGIN OF DATA_TAB OCCURS 20,
LINE(255),
END OF DATA_TAB.
START-OF-SELECTION.
* Get the server data
CALL 'C_SAPGPARAM' ID 'NAME' FIELD 'rdisp/myname'
ID 'VALUE' FIELD SERVER.
SRV_NAME = SERVER.
ISRV_TYPE = SERVER_TYPE.
* Get the performance data
PERFORM GET_ALERTS.
* Extend the performance data with texts
* OP. system: CPU-Load, Paging, Swap-Space, File-System alerts
PERFORM CRT_OSCO_load_txt USING OSCO_load.
PERFORM CRT_OSCO_page_TXT USING OSCO_page.
PERFORM CRT_OSCO_swap_TXT USING OSCO_swap.
PERFORM CRT_OSCO_file_TXT USING OSCO_file.
* Enque directory/entry usage %
PERFORM CRT_ENQU_TXT USING ENQU.
* Sysyem log: max entries/hour, special messages alert
PERFORM CRT_SYSLOG_TXT.
* Roll/Page file used% alerts
PERFORM CRT_RLPG_TXT USING RLPG.
* Dispatcher queue used% alert
PERFORM CRT_DPQU_TXT USING DPQU.
* Trace Switch
PERFORM CRT_TRACE_TXT.
* Performance: dialog/update1/update2/batch/spool response/wait/run time
PERFORM CRT_PERF_TXT USING PERFDIA.
PERFORM CRT_PERF_TXT USING PERFVB.
PERFORM CRT_PERF_TXT USING PERFV2.
PERFORM CRT_PERF_TXT USING PERFBTC.
PERFORM CRT_PERF_TXT USING PERFSPO.
* Buffer hit ratio, directory used%, space used% alerts
PERFORM CRT_BUFF_TXT USING BUFFABAP.
PERFORM CRT_BUFF_TXT USING BUFFTAB1.
PERFORM CRT_BUFF_TXT USING BUFFTABL.
PERFORM CRT_BUFF_TXT USING BUFFPRES.
PERFORM CRT_BUFF_TXT USING BUFFCUA.
PERFORM CRT_BUFF_TXT USING BUFFDBTT.
PERFORM CRT_BUFF_TXT USING BUFFDBFT.
PERFORM CRT_BUFF_TXT USING BUFFDBIR.
PERFORM CRT_BUFF_TXT USING BUFFDBSN.
* ABAP: abap error, update error, sql error
PERFORM CRT_ABAP_TXT USING ABAPERR.
PERFORM CRT_ABAP_TXT USING ABAPVB.
PERFORM CRT_ABAP_TXT USING ABAPSQL.
* DB alerts: missing indices, freespace problems, arch. stuck, backup
PERFORM CRT_GENP_TXT USING DB_INDICES.
PERFORM CRT_GENP_TXT USING DB_FREESPC.
PERFORM CRT_GENP_TXT USING DB_ARCSTUCK.
PERFORM CRT_GENP_TXT USING DB_BACKUP.
* Spool delay
PERFORM CRT_GENP_TXT USING GENP_SPO.
* ???
PERFORM CRT_GENP_TXT USING GENP_ARCH.
PERFORM CRT_GENP_TXT USING GENP_03.
PERFORM CRT_GENP_TXT USING GENP_04.
PERFORM CRT_GENP_TXT USING GENP_05.
PERFORM CRT_GENP_TXT USING GENP_06.
PERFORM CRT_GENP_TXT USING GENP_07.
PERFORM CRT_GENP_TXT USING GENP_08.
PERFORM CRT_GENP_TXT USING GENP_09.
PERFORM CRT_GENP_TXT USING GENP_10.
PERFORM CRT_GENP_TXT USING GENP_11.
PERFORM CRT_GENP_TXT USING GENP_12.
PERFORM CRT_GENP_TXT USING GENP_13.
PERFORM CRT_GENP_TXT USING GENP_14.
PERFORM CRT_DB_GENP_TXT USING GENP_15.
*Perf. Summary
PERFORM CREATE_SUM_TEXT.
* Process the result table
SORT DETAILS BY TYP SUBTYP.
LOOP AT DETAILS.
IF DETAILS-TIME <> '0' AND
DETAILS-DISABLED NE '1'.
* Get the alert type
PERFORM GET_ALERT_NAM_TXT USING DETAILS-TYP DETAILS-SUBTYP TXT.
* Fill up the message table for the express mail
IF DETAILS-VALUE = 2.
RED_FLAG = 1.
DATA_TAB = TXT. APPEND DATA_TAB.
DATA_TAB+5(250) = DETAILS-TXT. APPEND DATA_TAB.
DATA_TAB = ' '. APPEND DATA_TAB.
* write: / details-time color 6,
* txt color 6,
* details-value color 6,
* (50) details-txt color 6.
ELSE.
* write: / details-time color 1,
* txt color 1,
* details-value color 1,
* (50) details-txt color 1.
ENDIF.
ENDIF.
ENDLOOP.
* Send an express mail with the details of the red alerts
IF RED_FLAG = 1.
PERFORM SEND_EXPERESS_MAIL.
ENDIF.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.