健康检查是需要每个应用运行监控检查任务的。 
1.默认的健康检查是延迟才能让mesos知道任务的状态是否健康。 
2.marathon提供一个任务资源的健康成员访问的REST API接口。

如果HTTP的响应在超时时间timeoutSeconds内返回代码在200到399之间,那么健康检查认为是健康的。如果任务失败连续超过健康检查规定的maxConsecutiveFailures次数,这个任务将会被kill掉。

实例:

{
"path": "/api/health",
"portIndex": 0,
"protocol": "HTTP",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3,
"ignoreHttp1xx": false
}

或者

{
"portIndex": 0,
"protocol": "TCP",
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 0
}

或者

{
"protocol": "COMMAND",
"command": { "value": "curl -f -X GET http://$HOST:$PORT0/health" },
"gracePeriodSeconds": 300,
"intervalSeconds": 60,
"timeoutSeconds": 20,
"maxConsecutiveFailures": 3
}

健康检查配置项

首先你需要描述健康检查的协议: 
protocol(可选,默认为HTTP):请求的协议有三种,分别是HTTP/TCP/COMMAND

HTTP/TCP健康检查被marathon执行,因此当前marathon leader必须是可以访问的。COMMAND健康检查是通过在代理服务上的mesos运行一个类似的任务在本地执行的。

下面的配置项适合所有协议: 
gracePeriodSeconds(可选,默认为300):健康检查失败在多少秒内被忽略,或者直到任务状态变成健康。 
intervalSeconds(可选,默认60):健康检查间隔时间 
maxConsecutiveFailures(可选,默认3):健康检查连续失败3次后,不健康的任务会被kill。如果这个值是0,即使健康检查失败,任务也不好被删除。 
timeoutSeconds(可选,默认20):健康检查请求没有会的响应的时限。

对TCP/HTTP健康检查,port和portIndex也许会使用到。如果没有提供,portIndex会被设定。如果提供了port,它会优先覆盖所有的portIndex选项。 
portIndex(可选,默认为0):这个应用的ports或portDefinitions数组的索引。所以应用可能会使用随机端口,例如[0,0,0],任务可能会使用$PORT1这个环境变量。 
port(可选,没有默认值):健康检查额端口号。

下面的配置只适用于HTTP健康检查: 
path(可选,默认为/):任务暴露一个终端点用于健康检查。例如:/path/to/health 
ignoreHttp1xx(可选,默认为false):忽略HTTP状态为100到199的信息。如果这个HTTP健康检查返回这个状态的信息,结果被丢弃和任务的健康状态保持不变。

健康生命周期

应用的健康生命周期如下图所示。 
在图中: 
i表示请求实例数 
r表示运行实例数 
h表示健康实例数 

转自:http://blog.csdn.net/zhuchuangang/article/details/51120177

(转)Marathon健康检查的更多相关文章

  1. 【RDA】使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查

    [RDA]使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查 分类: Linux RDA英文全称叫做"Oracle Remote Diagnostic Ag ...

  2. nginx.conf配置文件里的upstream加入健康检查

    查看NGINX启用了那些模块: # ./nginx -V Tengine version: Tengine/ (nginx/) built by gcc (Red Hat -) (GCC) TLS S ...

  3. keepalived健康检查方式

    keepalived对后端realserver的健康检查方式主要有以下几种: TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那 ...

  4. nginx的健康检查功能将挂掉的Tomcat舍弃

    1.Ngninx自带健康检查功能,能将挂掉的服务器舍弃,不在访问路径里 2.Nginx还有URL重写功能,能将接收到的请求,进行改写,再将新的URL分发到后端服务器上

  5. Tengine新增健康检查模块

    总结 2.tengine的状态监控 Tengine的状态监控有两种 这里演示一个健康检查模块功能 配置一个status的location location /status { check_status ...

  6. Oracle SQL 调优健康检查脚本

    Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...

  7. Script:SQL调优健康检查脚本

    Script:SQL调优健康检查脚本 http://www.askmaclean.com/archives/sql-tuning-health-check-script.html 以下脚本可以用于收集 ...

  8. nginx健康检查模块源码分析

    nginx健康检查模块 本文所说的nginx健康检查模块是指nginx_upstream_check_module模块.nginx_upstream_check_module模块是Taobao定制的用 ...

  9. SpringBoot之旅 -- SpringBoot 项目健康检查与监控

    前言 You build it,You run it, 当我们编写的项目上线后,为了能第一时间知晓该项目是否出现问题,常常对项目进行健康检查及一些指标进行监控. Spring Boot-Actuato ...

随机推荐

  1. JS控制只能输入数字并且最多允许小数点两位

    直接上代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. [原]openstack-kilo--issue(十三)Unauthorized: The request you have made requires authentication. (HTTP 401) (Request

    在运行nova-list 的时候发现报错401:如下面 ========>>>>>>>>> 正常显示 [root@controller ~]# n ...

  3. C# Post HTTP Request

    using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Secu ...

  4. Managing Hierarchical Data in MySQL(邻接表模型)[转载]

    原文在:http://dev.mysql.com/tech-resources/articles/hierarchical-data.html 来源: http://www.cnblogs.com/p ...

  5. nginx 动静分离(相同URL)

    #报表 location ~* /(report)/ { if ($request_uri !~* .*(jd|taobao|operator).* ){ proxy_pass http://tweb ...

  6. day3 三、基本数据类型和运算符

    一.多行注释和单行注释 """ 多行注释 多行注释 多行注释 """ # 单行注释 # print('hello world') # pri ...

  7. 浅析vue的双向数据绑定

    vue 的双向数据绑定是基于es5的 object对象的defineProperty属性,重写data的set和get函数来实现的.1.defineProperty 数据展示 Object.defin ...

  8. echarts pie 图表 显示的label 中内容 字体大小自定义

    option = { tooltip: { trigger: 'item', formatter: "{a} <br/>{b}: {c} ({d}%)" }, lege ...

  9. 老师的blog整理 .网络编程部分 .网络编程部分 前端部分 django基础部分

    老师的blog整理 python基础部分: 宝哥blog: https://www.cnblogs.com/guobaoyuan/ 开哥blog: https://home.cnblogs.com/u ...

  10. java基础解析系列(二)---Integer

    java基础解析系列(二)---Integer 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容. 目录 java基础解析 ...