API监控工具

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

我希望监控我在 Docker 容器之一上创建的所有 API。该 Docker 容器使用 Django REST 框架来提供服务。我在 Azure 上运行它。我想通过它是否正常工作或者请求太多来监控我的 API,它会发出警报。每秒的请求是多少,类似这样的。

我们正在使用 sysdig 来监控我们的容器,但我认为它没有能力监控 Django Rest 框架的所有 API

django azure django-rest-framework sysdig
4个回答
1
投票

要监控 API 性能和停机时间,您可以创建自定义脚本来 ping 您的 API 并在出现停机时向您发出警报,或者您可以使用第三方服务进行远程监控。这是更简单的选项,因为它不需要编写和维护代码。

您可以使用我的一个第三方服务,https://assertible.com。它们提供频繁的健康检查(1/5/15 分钟)、深度数据验证、与 Slack 和 GitHub 等其他服务的集成,以及查看/管理测试失败的好方法。

如果您想与自己的代码或脚本集成,您可以使用触发器 URL 和/或部署 API 随时随地以编程方式运行测试:

$ curl 'https://assertible.com/apis/{API_ID}/run?api_token=ABC'
[{
  "runId": "test_fjdmbd",
  "result": "TestPass",
  "assertions": {
      "passed": [{...}],
      "failed": [{...}]
  },
  ...
}]

希望有帮助!


1
投票

您可以使用Postman的监控功能。欲了解更多信息,请查看以下链接 [1]。

[1] https://learning.getpostman.com/docs/postman/monitors/intro_monitors/


0
投票

由于您在 Azure 上运行,因此您应该查看 Application Insights

Application Insights 是一个可扩展的应用程序性能 为多个平台上的 Web 开发人员提供管理 (APM) 服务。使用 它可以监控您的实时网络应用程序。它会自动检测 性能异常。它包括强大的分析工具来帮助 您诊断问题并了解用户实际使用您的产品做了什么 应用程序。它旨在帮助您不断提高绩效并 可用性。它适用于各种平台上的应用程序,包括 .NET、Node.js 和 J2EE,托管在本地或云中。它 与您的 devOps 流程集成,并具有连接点 各种开发工具。 来源

API 监控描述于此处


0
投票

您可以使用 Apitally 来监控您的 Django REST Framework API。

Apitally 附带了一个 Django 中间件,可捕获请求和响应元数据,并提供一个简单的仪表板,其中包含各种 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 统计信息。
  1. 这就是仪表板的样子:

免责声明:

我是 Apitally 的作者。

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