如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据
Prometheus是一套開源的系統監控報警框架。它啟發于Google的borgmon 監控系統,由工作在 SoundCloud 的 google 前員工在 2012 年創建,作為社區開源項目進行開發,并于2015年正式發布。2016年,Prometheus 正式加入 Cloud Native Computing Foundation,成為受歡迎度僅次于Kubernetes 的項目。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-I12qhr9O-1574929248949)(https://user-images.githubusercontent.com/5669954/69523875-e423f580-0f9f-11ea-80bc-d8eb4fd757f6.png)]
我們可以利用Prometheus強大的監控功能來采集SAP ABAP Netweaver服務器上運行應用的各項日志。以SAP CRM Fiori應用My Opportunity為例,假設我開發了一個自定義日志功能,把所有用戶對Opportunity的讀操作明細, 包括請求者,請求日期和請求時間記錄在一個數據庫表里。
然后我希望借助Prometheus,定期地查詢Netweaver服務器,監控它服務了讀請求的數量。下面是具體步驟。
(1) 在CRM My Opportunity后臺的OData服務實現的BAdI definition CRM_OPPORTUNITY_ODATA_BD里創建一個增強。
因為所有的讀請求,最后都要經過方法SORT_AND_FILTER_OPPT_TABLE的處理,所以我們把日記記錄實現在這個方法里:
(2) 事務碼SICF創建一個新的服務節點:
用SELECT COUNT(*)把數據庫日志表的條目數讀取出來,通過HTTP的方式返回給消費者。
(3) 在Prometheus服務器的配置文件prometheus.yml里,添加一條定期抓取步驟二創建的Netweaver HTTP服務:
第26行metrics_path即為SICF事務碼里創建的服務路徑,28行意思是每2秒抓取一次。33行是Netweaver服務器的主機名。
啟動Prometheus服務器:
到Fiori UI上使用My Opportunity應用,觸發讀請求:
能看到日志表里填充了數據:
localhost:9090訪問Prometheus的UI控制臺,能看到采集的讀請求個數:
切換到Graph面板,能看到指定時間間隔內的讀請求變化趨勢,比如下圖意思是過去五分鐘之內,讀請求數量呈線性增長趨勢
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eigen库的使用_eigenvalue
- 下一篇: 报关单上常出现的英文单词缩写是_报关单用