SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Monitors the SAP alerts and sends an express mail



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Security and Monitoring
View previous topic :: View next topic  
Author Message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1636

PostPosted: Sun Nov 25, 2007 12:27 pm    Post subject: Monitors the SAP alerts and sends an express mail Reply with quote

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.

*---------------------------------------------------------------------*
*       FORM SEND_EXPERESS_MAIL                                       *
*---------------------------------------------------------------------*
FORM SEND_EXPERESS_MAIL.
  EMAIL_DATA-OBJ_NAME = 'MESSAGE'.
  EMAIL_DATA-OBJ_DESCR = 'RED ALERTS!'.
  EMAIL_DATA-OBJ_LANGU = 'E'.
  EMAIL_DATA-SENSITIVTY = 'P'.
  EMAIL_DATA-OBJ_PRIO =  '1'.
  EMAIL_DATA-NO_CHANGE = 'X'.
  EMAIL_DATA-PRIORITY = '1'.

  EMAIL_SEND-RECEIVER = 'KABAIIM'.
  EMAIL_SEND-REC_TYPE = 'B'.
  EMAIL_SEND-EXPRESS = 'X'.
  APPEND EMAIL_SEND.

  CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
       EXPORTING
            DOCUMENT_DATA  = EMAIL_DATA
            DOCUMENT_TYPE  = 'RAW'
            PUT_IN_OUTBOX  = 'X'
       TABLES
            OBJECT_CONTENT = DATA_TAB
            RECEIVERS      = EMAIL_SEND.
ENDFORM.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> Security and Monitoring All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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.