haproxy健康检查代理服务
hacheck的Python项目详细描述
[![生成状态](https://travis ci.org/uber/hacheck.png)(https://travis ci.org/uber/hacheck)
**hacheck**是健康检查代理服务。它监听端口3333,讲http,并具有以下api:
get/<;protocol>;/<;service_name>;/<;port>;/<;query>;
这将检查以下位置的服务状态:
*`/var/spool/hacheck/all`
*`/var/spool/hacheck/<;service_name>;`
*取决于`<的值;协议>;`:
*如果“http”:`http://localhost:<;port>;/<;query>;`
*如果“tcp”:将尝试连接到本地主机上的端口`<;port>;``<;query>;`当前被忽略
*如果'spool':将只检查spool状态
*如果设置了'mysql'和'mysql_用户名'和'mysql_密码',则将登录并退出请求的mysql端口;`<;query>;`被忽略,并且没有选择逻辑数据库。
当它查询实际的服务检查终结点时,**hacheck**可以将该查询的值缓存一段时间
**hacheck**还附带了命令行实用程序“haup”、“hadown”和“hastatus”。它们接受一个服务名并操作spool文件,允许您预先将服务标记为“up”或“down”。
(第三章)。单元测试使用nose和mock。
它运行在python 2.6及更高版本以及python 3.2及更高版本上。
只要ssh到它,然后(作为根用户)运行'hadown all',并等待haproxy健康检查间隔多长时间。进行维护,然后运行“haup all”将其重新投入使用。很容易!
此文件的一些显著属性:
*`cache-time`:可以缓存检查结果的持续时间
*`service-name-header`:如果已设置,则将在http上填充服务名称的头的名称将检查
*`log-path`:字符串“stdout”、字符串“stderr”或写入日志的文件的完全限定路径到。使用[watchedfilehandler](http://docs.python.org/2/library/logging.handlers.html watchedfilehandler)并应该很好地与logrotate
*`mysql用户名`:登录mysql进行检查时要使用的用户名
*`mysql密码`:登录mysql进行检查时要使用的密码
*`rlimit`u nofile`:设置nofile rlimit。如果字符串“max”将把rlimit设置为硬rlimit,否则将被解释为一个整数并设置为该值。
使用它,向本地主机`/mutornadomon`
**hacheck**是健康检查代理服务。它监听端口3333,讲http,并具有以下api:
get/<;protocol>;/<;service_name>;/<;port>;/<;query>;
这将检查以下位置的服务状态:
*`/var/spool/hacheck/all`
*`/var/spool/hacheck/<;service_name>;`
*取决于`<的值;协议>;`:
*如果“http”:`http://localhost:<;port>;/<;query>;`
*如果“tcp”:将尝试连接到本地主机上的端口`<;port>;``<;query>;`当前被忽略
*如果'spool':将只检查spool状态
*如果设置了'mysql'和'mysql_用户名'和'mysql_密码',则将登录并退出请求的mysql端口;`<;query>;`被忽略,并且没有选择逻辑数据库。
当它查询实际的服务检查终结点时,**hacheck**可以将该查询的值缓存一段时间
**hacheck**还附带了命令行实用程序“haup”、“hadown”和“hastatus”。它们接受一个服务名并操作spool文件,允许您预先将服务标记为“up”或“down”。
(第三章)。单元测试使用nose和mock。
它运行在python 2.6及更高版本以及python 3.2及更高版本上。
只要ssh到它,然后(作为根用户)运行'hadown all',并等待haproxy健康检查间隔多长时间。进行维护,然后运行“haup all”将其重新投入使用。很容易!
此文件的一些显著属性:
*`cache-time`:可以缓存检查结果的持续时间
*`service-name-header`:如果已设置,则将在http上填充服务名称的头的名称将检查
*`log-path`:字符串“stdout”、字符串“stderr”或写入日志的文件的完全限定路径到。使用[watchedfilehandler](http://docs.python.org/2/library/logging.handlers.html watchedfilehandler)并应该很好地与logrotate
*`mysql用户名`:登录mysql进行检查时要使用的用户名
*`mysql密码`:登录mysql进行检查时要使用的密码
*`rlimit`u nofile`:设置nofile rlimit。如果字符串“max”将把rlimit设置为硬rlimit,否则将被解释为一个整数并设置为该值。
使用它,向本地主机`/mutornadomon`