zoukankan      html  css  js  c++  java
  • 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据

    Prometheus是一套开源的系统监控报警框架。它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于2015年正式发布。2016年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于Kubernetes 的项目。

    clipboard1,1

    我们可以利用Prometheus强大的监控功能来采集SAP ABAP Netweaver服务器上运行应用的各项日志。以SAP CRM Fiori应用My Opportunity为例,假设我开发了一个自定义日志功能,把所有用户对Opportunity的读操作明细, 包括请求者,请求日期和请求时间记录在一个数据库表里。

    clipboard2,2

    然后我希望借助Prometheus,定期地查询Netweaver服务器,监控它服务了读请求的数量。下面是具体步骤。

    (1) 在CRM My Opportunity后台的OData服务实现的BAdI definition CRM_OPPORTUNITY_ODATA_BD里创建一个增强。

    因为所有的读请求,最后都要经过方法SORT_AND_FILTER_OPPT_TABLE的处理,所以我们把日记记录实现在这个方法里:

    clipboard3,3

    (2) 事务码SICF创建一个新的服务节点:

    clipboard4,4

    用SELECT COUNT(*)把数据库日志表的条目数读取出来,通过HTTP的方式返回给消费者。

    clipboard5,5

    (3) 在Prometheus服务器的配置文件prometheus.yml里,添加一条定期抓取步骤二创建的Netweaver HTTP服务:

    clipboard6,6

    第26行metrics_path即为SICF事务码里创建的服务路径,28行意思是每2秒抓取一次。33行是Netweaver服务器的主机名。

    启动Prometheus服务器:

    clipboard7,7

    到Fiori UI上使用My Opportunity应用,触发读请求:

    clipboard8,8

    能看到日志表里填充了数据:

    clipboard9,9

    localhost:9090访问Prometheus的UI控制台,能看到采集的读请求个数:

    clipboard10,10

    切换到Graph面板,能看到指定时间间隔内的读请求变化趋势,比如下图意思是过去五分钟之内,读请求数量呈线性增长趋势

    clipboard11,11
    clipboard12,12

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":
    公众号截图

  • 相关阅读:
    hdu 1017 A Mathematical Curiosity 解题报告
    hdu 2069 Coin Change 解题报告
    hut 1574 组合问题 解题报告
    hdu 2111 Saving HDU 解题报
    hut 1054 Jesse's Code 解题报告
    hdu1131 Count the Trees解题报告
    hdu 2159 FATE 解题报告
    hdu 1879 继续畅通工程 解题报告
    oracle的系统和对象权限
    oracle 自定义函数 返回一个表类型
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/11968158.html
Copyright © 2011-2022 走看看