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

在请求中提供有效用户的用户名/密码。

接下来是什么?

去注册一个监控服务或者扮演你自己的角色。

https://www.pingdom.com/

http://www.panopta.com/

http://binarycanary.com/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取TaskCompletionSource工作(Firestore的Android任务)   从PNG文件获取java或信息   neo4j嵌入式版本2.3.8的java NotInTransactionException   OSGI框架的java Eclipse启动配置在Mac上不起作用   java svn:“预提交”挂钩失败,输出错误:   java中ResourceBundle的io查询   java声明变量的最佳方法是什么?遵循下面的例子?   java如何在log4j中获得不同的记录器?   hibernate错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”   swing将JPanel保存为图像   eclipse(Java Spigot)我的PlayerInteractEvent有问题   使用java nio从FileChannel读取的字符串   java Eclipse无法清理生成输出   安卓对Eclipse java组件中的代码行数有限制吗   java Android Studio将应用程序推到手机上,不会让我   针对具有两个编辑器的页面的selenium java代码自动化   Java正则表达式:负前瞻   JavaJPA:基于实例变量将实体动态映射到表