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的原创文章,请关注公众号"汪子熙":
    公众号截图

  • 相关阅读:
    linux_进程管理
    Linux-日志管理
    Httpd
    Linux-源码安装包管理
    Linux-计划任务管理
    Linux-LVM管理
    Linux-系统磁盘管理
    Linux-yum工具的使用
    Linux-rpm包管理
    Linux-网络进阶管理
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/11968158.html
Copyright © 2011-2022 走看看