Containerpilot 配置文件 之 Watches
watch是在consul进行监视的服务配置。 watch轮询服务的状态,并在服务变得健康,变得不健康或者实例数量发生变化时发出事件。 请注意,watch不包括行为; watch只发出事件,以便job可以消耗该事件。
watch配置仅包括以下字段:
watches: [
{
name: "backend",
interval: 3,
tag: "prod", // optional
dc: "us-east-1" // optional
}
]interval是轮询尝试consul之间的时间(以秒为单位)。name是要查询的服务,tag是添加到查询中的可选标记,dc是可选的Consul 数据中心进行查询。 watch保留与服务相关联的健康IP地址的内存列表。 该列表不会持久存储在磁盘中,并且如果ContainerPilot重新启动,则需要使用规范数据存储区(即Consul)来检查。 如果此列表在轮询之间更改,watch将发出一个或两个事件:
- 每当发生变化时,
changed事件。 - 每当观看的服务变得健康时,就会发出
healthy事件。 这可能意味着state以前是未知的(就像当ContainerPilot第一次启动时),或者它以前是不健康的,现在是健康的。 此事件只会针对实例的状态或计数的每次更改触发一次。 返回相同值的后续轮询不会再次发生事件。 - 每当观看的服务变得不健康时,会发出
unhealthy事件。 这可能意味着当我们第一次轮询时,该服务还没有运行,或者它以前是健康的,现在是不健康的。 这个事件只会在状态变化时被触发一次。 返回相同值的后续轮询不会再次发生事件。
watch发出的事件的名称命名为不与内部job名称相冲突。 这些事件以watch为前缀。 以下是监听观看事件的job示例配置:
jobs: [
{
name: "update-app",
exec: "/bin/update-app.sh",
when: {
source: "watch.backend",
each: "changed"
}
}
],
watches: [
{
name: "backend",
interval: 3
}
]
在这个例子中,watchbackend将每3秒检查一次。 每次watch发射changed事件时,update-appjob将执行/bin/update-app.sh。
Containerpilot 配置文件 之 Watches的更多相关文章
- Containerpilot 配置文件 之 consul
Consul ContainerPilot使用Hashicorp的consul在作为服务的容器中注册工作. Watches查询consul找出其他服务的状态. Client configuration ...
- Containerpilot 配置文件reload
containerpilot -reload -config ./containerpilot.json 进程号不变,重新加载配置文件
- Containerpilot 配置文件示例
{ consul: "localhost:8500", logging: { level: "INFO", format: "default" ...
- Containerpilot 配置文件 之 Jobs
ContainerPilot job是用户定义的进程和规则,用于何时执行它,如何进行健康检查,以及如何向Consul做广告. 这些规则旨在允许灵活性覆盖几乎可能要运行的任何类型的进程. 一些可能的jo ...
- Containerpilot 配置文件模板
{ "consul": "{{ .CONSUL }}:8500", "logging": { "level": &quo ...
- Containerpilot 配置文件 之 Telemetry
如果提供telemetry选项,ContainerPilot将公开可用于刮擦性能telemetry的Prometheus HTTP客户端界面. telemetry接口被公告为consul服务. tel ...
- Grunt配置文件编写技巧及示范
受益于grunt这么久,继续分享关于grunt的一些技巧.grunt确实是前端项目中不可或缺的提升效率的工具.第一次接触grunt是在去年7月份,开始有接触LESS.Coffee Script的等需要 ...
- 【Consul】Consul实践指导-配置文件
Agent有各种各样的配置选项,这些配置选项可以通过命令行参数的方式设定,也可用通过配置文件的方式设定--所有的配置选项都是可选的,当然也是有默认值的. 当加载配置选项时,consul是按照词典顺序从 ...
- 分布式存储系统之Ceph集群状态获取及ceph配置文件说明
前文我们了解了Ceph的访问接口的启用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16727620.html:今天我们来聊一聊获取ceph集群状态和 ...
随机推荐
- Redis内存数据库操作命令详解
一.连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 二.对value操作的命令 exists(key):确认一个key是否存在 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- MySQL工具 Navicat
F6打开命令行窗口 ctrl+shift+r 运行选中语句 #不过不建议使用,因为ctrl+r是执行当前所有语句,如果语句当中有delete update 后果不堪设想
- ESXI 5.5加载 zabbix OVF 3.2.6操作
如果是虚拟机安装ZABBIX,ZABBIX的前台WEB时间,是由虚拟机的BIOS时间决定的. 一. 1.去官方下载vmdk磁盘镜像 链接地址为https://sourceforge.net/proje ...
- [UE4]OnComponentBeginOverlap.AddDynamic 的编译错误
以 Character 类为例,假设有 PacManCharacter 派生自 Character类首先在 PacManCharacter.h 头文件中添加碰撞函数的声明: OnCollision 为 ...
- 外网访问XAMPP失败 解决方案
xampp 访问出现New XAMPP security concept 收藏 New XAMPP security concept: Access to the requested director ...
- 理解Storm Metrics
在hadoop中,存在对应的counter计数器用于记录hadoop map/reduce job任务执行过程中自定义的一些计数器,其中hadoop任务中已经内置了一些计数器,例如CPU时间,GC时间 ...
- 深度学习中的Normalization模型
Batch Normalization(简称 BN)自从提出之后,因为效果特别好,很快被作为深度学习的标准工具应用在了各种场合.BN 大法虽然好,但是也存在一些局限和问题,诸如当 BatchSize ...
- python之路之装饰器
一 装饰器进化之路1) import time def index(): start_time=time.time() time.sleep() print('welcome to index wor ...
- ByteCache
private static class ByteCache { private ByteCache(){} //256个元素,用于缓存-128到127 static final Byte cache ...