Prometheus是一套開源的系統監控報警框架。它啓發於Google的borgmon 監控系統,由工做在 SoundCloud 的 google 前員工在 2012 年建立,做爲社區開源項目進行開發,並於2015年正式發佈。2016年,Prometheus 正式加入 Cloud Native Computing Foundation,成爲受歡迎度僅次於Kubernetes 的項目。數據庫
咱們能夠利用Prometheus強大的監控功能來採集SAP ABAP Netweaver服務器上運行應用的各項日誌。以SAP CRM Fiori應用My Opportunity爲例,假設我開發了一個自定義日誌功能,把全部用戶對Opportunity的讀操做明細, 包括請求者,請求日期和請求時間記錄在一個數據庫表裏。服務器
而後我但願藉助Prometheus,按期地查詢Netweaver服務器,監控它服務了讀請求的數量。下面是具體步驟。框架
(1) 在CRM My Opportunity後臺的OData服務實現的BAdI definition CRM_OPPORTUNITY_ODATA_BD裏建立一個加強。google
由於全部的讀請求,最後都要通過方法SORT_AND_FILTER_OPPT_TABLE的處理,因此咱們把日記記錄實如今這個方法裏:spa
(2) 事務碼SICF建立一個新的服務節點:3d
用SELECT COUNT(*)把數據庫日誌表的條目數讀取出來,經過HTTP的方式返回給消費者。日誌
(3) 在Prometheus服務器的配置文件prometheus.yml裏,添加一條按期抓取步驟二建立的Netweaver HTTP服務:blog
第26行metrics_path即爲SICF事務碼裏建立的服務路徑,28行意思是每2秒抓取一次。33行是Netweaver服務器的主機名。事務
啓動Prometheus服務器:ip
到Fiori UI上使用My Opportunity應用,觸發讀請求:
能看到日誌表裏填充了數據:
localhost:9090訪問Prometheus的UI控制檯,能看到採集的讀請求個數:
切換到Graph面板,能看到指定時間間隔內的讀請求變化趨勢,好比下圖意思是過去五分鐘以內,讀請求數量呈線性增加趨勢
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":