SAP服務器進程預警通知

在財務月結,HR薪資核算等系統用戶集中使用高峰時期。通過判斷判斷當前系統可用的并行對話框進程數,用戶使用過多給出提示,服務器進程預警通知。

1. 根據配置的進程最大可使用率80%,根據進程數判斷:當進程可用數少于20%,提示報錯【初始化服務器組時,或系統進程高負載】

2. 根據配置的服務器響應時間(ms),獲取服務器列表最新數據 ,超出最大響應時間,給出報警提示用戶 系統響應慢 ,請稍后再試。

3. 根據CPU判斷:如當CPU超出80%,提示?報錯

FUNCTION zhrfm_judge_work_process.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(GROUP_NAME) TYPE  RZLLITAB-CLASSNAME DEFAULT SPACE
*"  EXPORTING
*"     VALUE(ES_MESG) TYPE  ZSHR_MESSAGE
*"     REFERENCE(IDLE_CPU) TYPE  ALPNEWVALS
*"----------------------------------------------------------------------DATA: ls_pm01 TYPE zthr_pm01.SELECT SINGLE * FROM zthr_pm01 INTO ls_pm01.**************************************************************************************
*                   一、根據進程數判斷:當進程可用數少于20%,提示報錯
**************************************************************************************DATA: lv_max     TYPE i,lv_free    TYPE i,lv_percent TYPE p DECIMALS 2.IF ls_pm01-proc_switch = 'X'.CALL FUNCTION 'SPBT_INITIALIZE'EXPORTINGgroup_name                     = ' 'IMPORTINGmax_pbt_wps                    = lv_maxfree_pbt_wps                   = lv_freeEXCEPTIONSinvalid_group_name             = 1internal_error                 = 2pbt_env_already_initialized    = 3currently_no_resources_avail   = 4no_pbt_resources_found         = 5cant_init_different_pbt_groups = 6OTHERS                         = 7.IF sy-subrc = 4.es_mesg-msgty = 'E'.es_mesg-msgtx = '當前查詢人員過多,初始化服務器組時出現錯誤,請稍后再試!'.RETURN.ENDIF.IF lv_max NE 0.lv_percent = ( lv_free / lv_max ) * 100.IF lv_percent LT ( 100 - ls_pm01-proc_num ).es_mesg-msgty = 'E'.es_mesg-msgtx = '當前查詢人員過多,系統進程高負載,請稍后再試!'.RETURN.ENDIF.ENDIF.ENDIF.**************************************************************************************
*                   一、根據進程數判斷:當進程可用數少于20%,提示報錯
**************************************************************************************DATA intg_tbl TYPE TABLE OF salstintg WITH HEADER LINE.DATA intg_tbl_pi TYPE TABLE OF salstintg WITH HEADER LINE.DATA:intg_tbl_mail TYPE TABLE OF salstintg WITH HEADER LINE.DATA :g_max_time  TYPE int4, "報警響應時間lv_sum_time TYPE int4.CLEAR intg_tbl_mail[].IF ls_pm01-response_switch = 'X'.g_max_time = ls_pm01-response_time."報警響應時間"獲取服務器列表CALL FUNCTION 'RZL_STRG_READALL_I'EXPORTINGsrvname  = 'MSGSERVER'TABLESintg_tbl = intg_tblEXCEPTIONSOTHERS   = 01."刷新每個服務器數據LOOP AT intg_tbl WHERE value1 = 7353.CALL FUNCTION 'RZL_STRG_DEL'EXPORTINGsrvname = intg_tbl-namename    = 'FAV_COMPUTE_LGIN'typ     = 'C'EXCEPTIONSOTHERS  = 01.CALL FUNCTION 'RZL_SUBMIT'DESTINATION intg_tbl-nameEXPORTINGrepid  = 'RSRZLLG0'EXCEPTIONSOTHERS = 01.ENDLOOP."重新獲取最新的數據CLEAR intg_tbl[].CALL FUNCTION 'RZL_STRG_READALL_I'EXPORTINGsrvname  = 'MSGSERVER'TABLESintg_tbl = intg_tblEXCEPTIONSOTHERS   = 01.DATA lv_num TYPE i.CLEAR lv_num.LOOP AT intg_tbl WHERE value1 = 7353.   " AND VALUE5 = 3537.  "Yuelv_sum_time = lv_sum_time + intg_tbl-value2.IF intg_tbl-value2 GE '1000'.lv_num = lv_num + 1.ENDIF.ENDLOOP.IF lv_sum_time > g_max_time.es_mesg-msgty = 'E'.es_mesg-msgtx = '當前查詢人員過多,系統響應慢,請稍后再試!'.RETURN.ENDIF.IF lv_num GE '3'.es_mesg-msgty = 'E'.es_mesg-msgtx = '當前查詢人員過多,系統響應慢,請稍后再試!'.RETURN.ENDIF.ENDIF.**************************************************************************************
*                   三、根據CPU判斷:當CPU少于50%、80%,提示 報錯
**************************************************************************************
*  DATA: lv_max     TYPE i,
*        lv_free    TYPE i,
*        lv_percent TYPE p DECIMALS 2.IF ls_pm01-proc_switch = 'X'.*   CALL FUNCTION 'GET_CPU_ALL'.DATA lt_ccm_data TYPE TABLE OF ccm_data.DATA ls_ccm_data TYPE  ccm_data.DATA lv_dest_logical TYPE rfcdes-rfcdest.CONCATENATE sy-host '_' sy-sysid '_00'INTO  lv_dest_logical.  "ehr01-m-szzb   SY-PAUTH*    lv_dest_logical = sy-title+4(19).CALL FUNCTION 'GET_CCM_DATA'EXPORTING
*       LOCAL_REMOTE                   = 'LOCAL'logical_destination            = lv_dest_logical  " ehr01-m-szzb_RP1_00
* IMPORTING
*       F_CCM_DATA_READ                =
*       ACTIVEFLAG                     =
*       INTERVAL                       =
*       DETAILSCOLL                    =
*       DETAILSREQI                    =
*       DETAILSMODE                    =
*       LASTCOLLWRT                    =
*       LASTCOLLINT                    =
*       NORMCOLLINT                    =TABLEStf_ccm_data                    = lt_ccm_dataEXCEPTIONSinternal_error_adress_failed   = 1internal_error_different_field = 2internal_error_no_new_line     = 3collector_not_running          = 4shared_memory_not_available    = 5collector_busy                 = 6version_conflict               = 7no_network_collector_running   = 8system_failure                 = 9communication_failure          = 10OTHERS                         = 11.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.IF lt_ccm_data[] IS NOT INITIAL.CLEAR ls_ccm_data.READ TABLE lt_ccm_data INTO ls_ccm_data WITH  KEY objectname = 'CPU'  attributename = 'Idle' mteclass = 'CPU_Idle'.   " CPU_UsageUserIF sy-subrc = 0.
*        DATA lv_idle2(5).
*        DATA(lv_idle) =   ls_ccm_data-perf_snap_total / ls_ccm_data-perf_snap_number / 10 ** ls_ccm_data-perf_decimals.
*        WRITE lv_idle TO lv_idle2 DECIMALS ls_ccm_data-perf_decimals.idle_cpu = ls_ccm_data-perf_snap_total.*        IF ls_ccm_data-perf_snap_total LE '50'." AND ls_ccm_data-perf_snap_total GT '20' .   " Idle CPU
**          idle_cpu = 'A'.
*        ENDIF.
*        IF ls_ccm_data-perf_snap_total LE '20' .   " Idle CPU
*          idle_cpu = 'B'.
**          es_mesg-msgty = 'E'.
**          es_mesg-msgtx = '當前操作人員過多,請稍后再試!'.
*        ENDIF.ENDIF.ENDIF.ENDIF.ENDFUNCTION.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71665.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71665.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71665.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Java代碼審計 | 第四篇】SQL 注入防范

文章目錄 Java SQL 注入防御方法類型轉換預編譯查詢&#xff08;PreparedStatement&#xff09;使用 ORM 框架&#xff08;如 MyBatis、Hibernate&#xff09;白名單限制ORDER BY 語句LIKE 語句 限制數據庫權限過濾和轉義特殊字符監控與日志審計使用 Web 應用防火墻&#xff08…

軟考中級-數據庫-3.3 數據結構-樹

定義:樹是n(n>=0)個結點的有限集合。當n=0時稱為空樹。在任一非空樹中,有且僅有一個稱為根的結點:其余結點可分為m(m>=0)個互不相交的有限集T1,T2,T3...,Tm…,其中每個集合又都是一棵樹,并且稱為根結點的子樹。 樹的相關概念 1、雙親、孩子和兄弟: 2、結點的度:一個結…

選擇排序算法的SIMD優化

一、優化原理 將查找數組最小值索引的SIMD優化的函數嵌入選擇排序主循環,優化最耗時的最小值查找環節,同時保留選擇排序的交換邏輯。 二、關鍵改造步驟 1)最小值查找模塊化 復用SIMD優化的 find_min_index_simd函數。 2)動態子數組處理 每次循環處理 arr[i..n-1] 子數…

考網絡安全工程師證要什么條件才能考?

在當今數字化時代&#xff0c;網絡安全問題日益凸顯&#xff0c;網絡安全工程師成為了一個備受矚目的職業。許多有志于投身這一行業的學子或職場人士&#xff0c;都希望通過考取網絡安全工程師證書來提升自己的專業素養和競爭力。那么&#xff0c;考網絡安全工程師證需要具備哪…

uniapp項目運行失敗Error: getaddrinfo *.bspapp.com 文件查找失敗uview-ui及推薦MarkDown軟件 Typora

一、uniapp項目運行失敗Error: getaddrinfo *.bspapp.com 文件查找失敗uview-ui 在運行一個uniapp項目時&#xff0c;出現報錯 文件查找失敗&#xff1a;uview-ui&#xff0c;Error: getaddrinfo ENOTFOUND 960c0a.bspapp.com。hostname異常&#xff0c;報錯的詳細信息如下&…

使用阿里云 API 進行聲音身份識別的方案

使用阿里云 API 進行聲音身份識別的方案 阿里云提供 智能語音交互&#xff08;智能語音識別 ASR&#xff09; 和 聲紋識別&#xff08;說話人識別&#xff09; 服務&#xff0c;你可以利用 阿里云智能語音 API 進行 說話人識別&#xff0c;實現客戶身份驗證。 方案概述 準備工…

【Pandas】pandas Series unstack

Pandas2.2 Series Computations descriptive stats 方法描述Series.argsort([axis, kind, order, stable])用于返回 Series 中元素排序后的索引位置的方法Series.argmin([axis, skipna])用于返回 Series 中最小值索引位置的方法Series.argmax([axis, skipna])用于返回 Series…

大模型發展歷程

大模型的發展歷程 大語言模型的發展歷程一、語言模型是個啥&#xff1f;二、語言模型的 “進化史”&#xff08;一&#xff09;統計語言模型&#xff08;SLM&#xff09;&#xff08;二&#xff09;神經語言模型&#xff08;NLM&#xff09;&#xff08;三&#xff09;預訓練語…

springboot項目使用中創InforSuiteAS替換tomcat

springboot項目使用中創InforSuiteAS替換tomcat 學習地址一、部署InforSuiteAS1、部署2、運行 二、springboot項目打包成war包 特殊處理1、pom文件處理1、排除內嵌的tomcat包2、新增tomcat、javax.servlet-api3、打包格式設置為war4、打包后的項目名稱5、啟動類修改1、原來的不…

Seata

Seata是一款開源的分布式事務解決方案&#xff0c;由阿里巴巴發起并維護&#xff0c;旨在幫助應用程序管理和協調分布式事務。以下是對Seata的詳細介紹&#xff1a; 一、概述 Seata致力于提供高性能和簡單易用的分布式事務服務&#xff0c;它為用戶提供了AT、TCC、SAGA和XA等…

Pytest自動化框架

Pytest簡單介紹 下載pytest pip install pytest 第一章&#xff1a;Pytest console命令 默認需要test開頭的py模塊,test_開頭的方法 1.pytest 執行pytest命令會自動匹配到test開頭或者結尾的文件 將其作為測試用例文件執行&#xff0c;在測試用例文件中自動匹配到test開…

【spring】注解版

1.管理bean 之前我們要想管理bean都是在xml文件中將想要添加的bean手動添加進ioc容器中&#xff0c;這樣太過麻煩了&#xff0c;在 Java 開發里&#xff0c;針對一些較為繁瑣的操作&#xff0c;通常會有相應的簡化方式&#xff0c;這個也不例外&#xff0c;就是spring提供的注…

RV1126+FFMPEG多路碼流監控項目

一.項目介紹&#xff1a; 本項目采用的是易百納RV1126開發板和CMOS攝像頭&#xff0c;使用的推流框架是FFMPEG開源項目。這個項目的工作流程如下(如上圖)&#xff1a;通過采集攝像頭的VI模塊&#xff0c;再通過硬件編碼VENC模塊進行H264/H265的編碼壓縮&#xff0c;并把壓縮后的…

13.IIC-EEPROM(AT24C02)

1.為什么需要EEPROM? 在單片機開發中&#xff0c;斷電數據保存是常見的需求。例如&#xff0c;智能家居設備的用戶設置、電子秤的校準參數等都需要在斷電后仍能保留。AT24C02作為一款IIC接口的EEPROM芯片&#xff0c;具備以下優勢&#xff1a; 非易失性存儲&#xff1a;斷電后…

ubuntu22.04安裝P104-100一些經驗(非教程)

一、版本&#xff1a; 系統&#xff1a;ubuntu-22.04.5-desktop-amd64.iso Nvidia 驅動&#xff1a;NVIDIA-Linux-x86_64-570.124.04.run。官網下載即可 二、經驗 1、通用教程? 直接關鍵詞搜“ubuntu p104”會有一些教程&#xff0c;比如禁用nouveau等 安裝參考&#xff1a…

TCP7680端口是什么服務

WAF上看到有好多tcp7680端口的訪問信息 于是上網搜索了一下&#xff0c;確認TCP7680端口是Windows系統更新“傳遞優化”功能的服務端口&#xff0c;個人理解應該是Windows利用這個TCP7680端口&#xff0c;直接從內網已經具備更新包的主機上共享下載該升級包&#xff0c;無需從微…

OSI七大模型 --- 發送郵件

我想通過電子郵件發送一張照片給我的朋友。從我開始寫郵件到發送成功&#xff0c;按照這個順序講一下我都經歷了OSI模型的哪一層&#xff0c;對應的層使用了什么樣的協議&#xff1f; 完整流程示例&#xff08;補充物理層細節&#xff09; 假設你通過Wi-Fi發送郵件&#xff1a…

LINUX網絡基礎 [一] - 初識網絡,理解網絡協議

目錄 前言 一. 計算機網絡背景 1.1 發展歷程 1.1.1 獨立模式 1.1.2 網絡互聯 1.1.3 局域網LAN 1.1.4 廣域網WAN 1.2 總結 二. "協議" 2.1 什么是協議 2.2 網絡協議的理解 2.3 網絡協議的分層結構 三. OSI七層模型&#xff08;理論標準&#xff09; …

【LLms】關鍵詞提取

1. 停用詞 在文本處理和信息檢索領域&#xff0c;停用詞&#xff08;Stop Words&#xff09;是指在文本中出現頻率較高&#xff0c;但通常不包含實際語義信息或對語義理解貢獻較小的詞匯。這些詞匯通常是一些常見的功能詞&#xff0c;如冠詞、介詞、連詞、代詞、感嘆詞、助動詞…

1998-2022年各地級市三次產業占比/地級市國內生產總值構成/地級市第一產業占比、第二產業占比、第三產業占比數據(全市)

1998-2022年各地級市三次產業占比/地級市國內生產總值構成/地級市第一產業占比、第二產業占比、第三產業占比數據&#xff08;全市&#xff09; 1、時間&#xff1a;1998-2022年 2、指標&#xff1a;第一產業占比、第二產業占比、第三產業占比 3、來源&#xff1a;城市統計年…