(转)Marathon健康检查
健康检查是需要每个应用运行监控检查任务的。
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健康检查的更多相关文章
- 【RDA】使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查
[RDA]使用RDA(Remote Diagnostic Agent)工具对数据库进行健康检查 分类: Linux RDA英文全称叫做"Oracle Remote Diagnostic Ag ...
- nginx.conf配置文件里的upstream加入健康检查
查看NGINX启用了那些模块: # ./nginx -V Tengine version: Tengine/ (nginx/) built by gcc (Red Hat -) (GCC) TLS S ...
- keepalived健康检查方式
keepalived对后端realserver的健康检查方式主要有以下几种: TCP_CHECK:工作在第4层,keepalived向后端服务器发起一个tcp连接请求,如果后端服务器没有响应或超时,那 ...
- nginx的健康检查功能将挂掉的Tomcat舍弃
1.Ngninx自带健康检查功能,能将挂掉的服务器舍弃,不在访问路径里 2.Nginx还有URL重写功能,能将接收到的请求,进行改写,再将新的URL分发到后端服务器上
- Tengine新增健康检查模块
总结 2.tengine的状态监控 Tengine的状态监控有两种 这里演示一个健康检查模块功能 配置一个status的location location /status { check_status ...
- Oracle SQL 调优健康检查脚本
Oracle SQL 调优健康检查脚本 我们关注数据库系统的性能,进行数据库调优的主要工作就是进行SQL的优化.良好的数据架构设计.配合应用系统中间件和写一手漂亮的SQL,是未来系统上线后不出现致命性 ...
- Script:SQL调优健康检查脚本
Script:SQL调优健康检查脚本 http://www.askmaclean.com/archives/sql-tuning-health-check-script.html 以下脚本可以用于收集 ...
- nginx健康检查模块源码分析
nginx健康检查模块 本文所说的nginx健康检查模块是指nginx_upstream_check_module模块.nginx_upstream_check_module模块是Taobao定制的用 ...
- SpringBoot之旅 -- SpringBoot 项目健康检查与监控
前言 You build it,You run it, 当我们编写的项目上线后,为了能第一时间知晓该项目是否出现问题,常常对项目进行健康检查及一些指标进行监控. Spring Boot-Actuato ...
随机推荐
- Workbox 缓存
介绍 https://developers.google.cn/web/tools/workbox/guides/get-started 先注册一个service worker <script& ...
- A - Calendar
A - Calendar Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64u Submit ...
- NFS文件服务器搭建
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可 ...
- cmd打开E盘文件
在命令行中输入你想要打开文件所在的磁盘,这里我以打开E:\homework\1.jpg来给大家做示范.在命令行中输入 E: 输入后按下enter键.就进入E盘中,效果如图所示! 如果你想要查 ...
- 扒来的lstdc++.6.0.9有效解决方案
找到了Xcode10模拟器和真机运行的办法了1.将libstdc++_sim.zip解压,放到目录 /Applications/Xcode.app/Contents/Developer/Platfor ...
- iOS引用类型
强引用, 默认引用类型.被强引用指向的内存不被释放.强引用会对被引用对象的引用计数器+1,从而扩展对象的生命周期. 弱引用, 弱引用是医用特殊的引用类型.它不会增加引用计数器,因而不会扩展对象的生命周 ...
- Search,look for,find,seek(找)用法
舉個例子 ----> 你可以幫我找我的眼鏡嗎? SEARCH Search是仔細.徹底尋找/搜尋的意思. 比較少人會說 Can you help me search for my glasses ...
- Flink – CEP NFA
看看Flink cep如何将pattern转换为NFA? 当来了一条event,如果在NFA中执行的? 前面的链路,CEP –> PatternStream –> select –> ...
- Flink - TypeInformation
Flink 自己创建一套独立的类型系统, 参考, https://ci.apache.org/projects/flink/flink-docs-release-0.10/internals/type ...
- es基本修改相关的
一.修改mapping POST linewell_assets_mgt_es/lw_devices/_mapping { "lw_devices": { "proper ...