刺猬xiaojie 发布于 2017-05-16 00:51

服务端对每一次的接口调用次数,响应时间等这些数据进行监控,收集分析。
服务端类似给手机app提供的服务端接口。
能想到的方案如下:
1.最直接的方法肯定是在每一个方法里面都加统计的代码。
2.用aop,在不侵入原代码的情况下,做统计
3.可以在程序记录日志,然后在分析日志的方法。

希望有经验者能讲讲利弊跟推荐一下到底用哪种合适。

7 个回答
  • 1 2 都可以
    3和1 2 不冲突

    像你这种服务端统计接口调用情况的其实也不用aop,在统一的一个入口位置加一个统计代码即可,这个入口能获取到当前调用的接口名,然后计时,等接口返回后停止计时得到耗时数据以及是否成功及失败的错误日志,然后上报(可以UDP上报[不阻塞业务,推荐],TCP上报[可能阻塞,不推荐],写日志[有大量磁盘IO,不推荐])

    发你个写好的统计服务端,包含了上报接口,udp上报,web页面展示
    https://github.com/walkor/workerman-statistics
    这个是个php的json-rpc ,集成了这个统计系统
    https://github.com/walkor/workerman-JsonRpc

    2017-05-16 15:05 回答
  • 系统层面: cacti zappix 等久可以监控起来 当然可以做到邮件手机短信阀值报警
    业务应用层面: 使用goaccess 可视化分析nginx日志 的确终端下亮瞎眼... goaccess官网

    2017-05-16 02:43 回答
  • 如果前端是nginx可以用工具分析access.log做统计,写个脚本隔一段时间统计然后写入数据库即可

    2017-05-16 02:55 回答
  • 写个统计的interceptor,通过kafaka或写入日志,通过flume同步到数据平台分析

    2017-05-17 00:40 回答
  • 直接在API接口处理请求的时候异步写log,再使用另外的解析系统来分析,并提供界面展示或者提供API接口给原来的程序调用查看

    2017-05-16 23:31 回答
  • tomcat 自带的访问日志可以打印调用某个url的时间,然后基于这个访问日志统计就可以了

    2017-05-16 13:26 回答
  • PHP交流群:294088839

    2018-10-26 09:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    mobiledu2502875483
  • 8
    王丽珠景平怡伦_621
  • 9
    adfa3sd5f6a
  • 10
    欣欣大妮
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有