我希望监控我在 Docker 容器之一上创建的所有 API。该 Docker 容器使用 Django REST 框架来提供服务。我在 Azure 上运行它。我想通过它是否正常工作或者请求太多来监控我的 API,它会发出警报。每秒的请求是多少,类似这样的。
我们正在使用 sysdig 来监控我们的容器,但我认为它没有能力监控 Django Rest 框架的所有 API
要监控 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": [{...}]
},
...
}]
希望有帮助!
您可以使用Postman的监控功能。欲了解更多信息,请查看以下链接 [1]。
[1] https://learning.getpostman.com/docs/postman/monitors/intro_monitors/
由于您在 Azure 上运行,因此您应该查看 Application Insights:
Application Insights 是一个可扩展的应用程序性能 为多个平台上的 Web 开发人员提供管理 (APM) 服务。使用 它可以监控您的实时网络应用程序。它会自动检测 性能异常。它包括强大的分析工具来帮助 您诊断问题并了解用户实际使用您的产品做了什么 应用程序。它旨在帮助您不断提高绩效并 可用性。它适用于各种平台上的应用程序,包括 .NET、Node.js 和 J2EE,托管在本地或云中。它 与您的 devOps 流程集成,并具有连接点 各种开发工具。 来源
API 监控描述于此处。
您可以使用 Apitally 来监控您的 Django REST Framework API。
Apitally 附带了一个 Django 中间件,可捕获请求和响应元数据,并提供一个简单的仪表板,其中包含各种 API 指标,例如请求数量、错误率、响应时间、有效负载大小等。它还提供正常运行时间监控和警报。
有一个 Django REST Framework 设置指南,您可以按照它开始使用。基本步骤是:
在 Apitally 仪表板中创建应用程序以获取客户端 IDpip install "apitally[django_rest_framework]"
MIDDLEWARE = [
"apitally.django.ApitallyMiddleware",
# Other middleware ...
]
APITALLY_MIDDLEWARE = {
"client_id": "your-client-id",
"env": "dev", # or "prod" etc.
}
我是 Apitally 的作者。