zoukankan      html  css  js  c++  java
  • (转)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

  • 相关阅读:
    mysql跟踪提交的SQL语句
    Xamarin.Forms 启动App时获取屏幕宽高
    vs for mac xamarin.forms 将pcl转换为netstandard后报错
    MAC显示文件夹路径
    MAC下使用Charles抓取安卓模拟器数据
    mysql不能插入中文
    Xamarin的不归路-使用Gorilla Player实时预览XAML
    sqlserver2008附加数据库时提示“无法为该请求检索数据。 (Microsoft.SqlServer.Management.Sdk.Sfc)”
    Xamarin的不归路-ios模拟器调整窗口大小
    Xamarin的不归路-ios模拟器没有键盘
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/8426654.html
Copyright © 2011-2022 走看看