django监视和可用性实用程序
django-ping的Python项目详细描述
django ping是一个实用程序,它为可用性和正常运行时间监视服务提供了一个轻量级端点。它 还提供用于测试堆栈组件和通过json报告它们的钩子。
安装
使用pip下载并安装:
pip install django-ping
将django ping添加到url conf:
url(r'^ping/', include('ping.urls')),
基本配置
点击端点返回一个简单的status 200响应。 您可以通过添加到您的django设置来自定义消息:
PING_DEFAULT_RESPONSE = "All systems go!" PING_DEFAULT_MIMETYPE = 'text/html'
点击网址:
/ping
显示:
All systems go!
高级配置
启用状态检查
向url添加checks=true参数将告诉django ping运行 一系列状态检查并报告结果。
例如:
/ping?checks=true
显示:
Your site is up! db_sessions True db_site True
默认情况下,django ping测试数据库是否响应 通过提供两个测试。你可以提供你自己的测试 以确保一切按预期反应。如果你不知道 使用数据库会话或contrib.sites应用程序,可以删除 去掉那些你不需要的。
要自定义,请在django设置中包含一个元组:
PING_CHECKS = ( 'ping.checks.check_database_sessions', #'ping.checks.check_database_sites', 'my_app.module.check_function', 'my_other_app.some_module.some_function' )
将fmt参数指定给json将返回更详细的序列化数据。 例如:
/ping?fmt=json
显示:
{ "db_sessions": true, "db_site": true }
自定义状态检查
检查应接受请求对象并返回 两个值。要显示的名称/密钥 以及支票的价值。价值应该是任何东西 可以序列化的。
def check_sample(request): #...do some things... return 'foo', True #or return 'bar', float(123.456) #or even return 'baz', ['one', 'two', 'three', {'a':1, 'b':2, 'c':3}]
然后,将其添加到要显示的PING_CHECKS元组:
{ 'foo', true }
包括状态检查
django ping包含一些用于测试各种组件的检查 活着。
check_database_会话-命中数据库并尝试检索单个会话。
check_database_sites-命中数据库并尝试检索单个站点实例。
check_cache集-尝试使用当前定义的缓存后端缓存值。
check_cache-get-尝试使用当前定义的缓存后端检索缓存值。
认证
您可以要求http基本身份验证来访问ping端点, 在django设置中将PING_BASIC_AUTH设置为True。
在请求中提供有效用户的用户名/密码。