在生产服务器上监控 django Rest Framework api

问题描述 投票:0回答:5

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

python django django-rest-framework analytics linode
5个回答
15
投票

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


5
投票

因此,最简单的开始方法是检查网络服务器的访问日志。这应该为您提供请求输入和响应输出的数量,包括状态代码。如果您想要更多功能齐全的统计数据以及监控和警报,您可能需要研究诸如 NewRelic 之类的东西。


2
投票

也许你可以使用drf-tracking


0
投票

Apitally 也可能很适合这里。

它配备了 Django REST Framework (DRF) 的中间件,可捕获请求和响应元数据,并提供一个简单的仪表板,其中包含各种 API 指标和见解,包括请求数量、错误率、响应时间、有效负载大小等。

有一个特定的 Django REST Framework 设置指南,您可以按照它开始使用。基本步骤是:

在 Apitally 仪表板中创建应用程序以获取客户端 ID
  1. 在您的 DRF 项目中安装客户端库:
  2. pip install "apitally[django_rest_framework]"
在 Django 设置中添加 Apitally 中间件:
  1. MIDDLEWARE = [ "apitally.django.ApitallyMiddleware", # Other middleware ... ] APITALLY_MIDDLEWARE = { "client_id": "your-client-id", "env": "dev", # or "prod" etc. }
部署您的应用程序,Apitally 开始跟踪您的 API 统计信息。
免责声明:

我是 Apitally 的作者。


0
投票
DRF Tracking

已接受答案的库已死亡。 这里有fork

drf-api-tracking

Jazzband 维护的另一个库是

django-silk

它将自己定义为

Django 的流畅分析: Django 框架的实时分析和检查工具。 Silk 会拦截并存储 HTTP 请求和数据库查询,然后将其呈现在用户界面中以供进一步检查

silk image

图片来源:

jazzband/django-silk github存储库

© www.soinside.com 2019 - 2024. All rights reserved.