在生产服务器上监控 django rest framework api

Posted

技术标签:

【中文标题】在生产服务器上监控 django rest framework api【英文标题】:Monitoring django rest framework api on production server 【发布时间】:2016-03-20 10:16:24 【问题描述】:

我在Linode 服务器中使用 django rest 框架创建了一个 API。现在,我想检查每个请求的数量和响应代码,我想获取我的 api 的统计信息。我该怎么做?非常感谢。

【问题讨论】:

【参考方案1】:

因此,最简单的入门方法是检查您的网络服务器的访问日志。这应该为您提供输入和响应的数量,包括状态代码。如果您想要更多功能完整的统计信息以及监控和警报,您可能需要研究像 NewRelic 这样的东西。

【讨论】:

结合 splunk 考虑这种方法。【参考方案2】:

也许你可以使用 drf-tracking

【讨论】:

【参考方案3】:

DRF Tracking 是用于跟踪对 DRF API 视图的请求的实用程序,它可能非常适合您:

安装:pip install drf-tracking

应用迁移:python manage.py migrate

将以下内容添加到您的 API 视图中:

 from rest_framework import generics
 from rest_framework_tracking.mixins import LoggingMixin

 class LoggingView(LoggingMixin, generics.GenericAPIView):
    def get(self, request):
        return Response('with logging')

如果您想拥有更多选择,还有另一种选择 Django Analytics。

【讨论】:

您好,谢谢您,但是我使用的是 mongodb,我会遇到迁移问题吗? 在这种情况下,我建议在非关系数据库上使用Django-norel django 支持。

以上是关于在生产服务器上监控 django rest framework api的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 django-rest-framework 时不需要 `csrf_exempt`?

django需要gunicorn来服务REST吗?

Phython前后端分离开发Vue+Django REST framework实战

Django Rest 框架 - 主 url HTTP/1.1" 404 Not Found

Django REST 框架:令牌身份验证不适用于生产

如何使用 django rest framework 序列化一个 ManyToManyField 和一个 Through Model