首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从配置文件领事创建Http运行状况检查

无法从配置文件领事创建Http运行状况检查
EN

Stack Overflow用户
提问于 2017-08-09 03:16:08
回答 1查看 833关注 0票数 0

我一直在尝试使用配置文件为REST服务创建一个http健康检查。

加载consul时,它从配置文件中读取服务详细信息,并将其反映在8500 Web UI中。

但它没有添加该服务的健康检查细节。

当运行状况检查与服务定义一起进行时,也不会显示任何错误(情况1)。

但在尝试单独提供运行状况检查配置时,它通知了一个错误。(案例2)

但是,当通过rest api添加时,我可以成功地添加http健康检查。(案例3)

运行状况检查和服务详细信息:-(案例1)

代码语言:javascript
复制
{
"service": {
"id":"somename",
"name":"nameofthissevice",
"service": "myservice",
"address": "127.0.0.1",
"port": 62133,
"enableTagOverride": false,
"check": {      
"HTTP": "http://127.0.0.1:62133/Service1.svc/MyService/PingMe",
"Interval": "5s"    
}
}
}

仅运行状况检查配置:-(案例2)

代码语言:javascript
复制
"check": {    
"http": "http://127.0.0.1:62133/Service1.svc/MyService/PingMe",
"interval": "5s",
"timeout": "150s",
"ttl" : "100s"
}

通过C#中的代码进行运行状况检查:-(案例3)

代码语言:javascript
复制
var check = new AgentServiceCheck()
        {
            Interval = TimeSpan.FromSeconds(10),
            HTTP = "http://127.0.0.1:62133/Service1.svc/MyService/PingMe",
            DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(10)
        };

var srv = new AgentServiceRegistration()
        {
            XXXXX,
            Check = check
        };

var result = client.Agent.ServiceRegister(srv).GetAwaiter().GetResult();            

我使用的是windows版的Consul V.0.9.0。

这是我的领事日志。

==>领事代理正在运行!

代码语言:javascript
复制
        Version: 'v0.9.0'
代码语言:javascript
复制
        Node ID: 'd0afc715-46d0-6087-27e9-a388cc274bd2'
代码语言:javascript
复制
      Node name: 'BETA-PC'
代码语言:javascript
复制
     Datacenter: 'dc1'
代码语言:javascript
复制
         Server: true (bootstrap: false)
代码语言:javascript
复制
    Client Addr: 127.0.0.1 (HTTP: 8500, HTTPS: -1, DNS: 8600)
代码语言:javascript
复制
   Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
代码语言:javascript
复制
 Gossip encrypt: false, RPC-TLS: false, TLS-Incoming: false                                                                                        

==>日志数据现在将在发生时流入:

代码语言:javascript
复制
2017/08/11 00:18:23 [DEBUG] Using random ID "d0afc715-46d0-6087-27e9-a388cc274bd2" as node ID                                                     
2017/08/11 00:18:23 [DEBUG] agent: restored service definition "somename" from "services\\ServiceRegister.json"                                   
2017/08/11 00:18:23 [WARN] raft: Heartbeat timeout from "" reached, starting election                                                             
2017/08/11 00:18:23 [INFO] consul: member 'BETA-PC' joined, marking health alive                                                                  
2017/08/11 00:18:24 [INFO] agent: Synced service 'somename'                                                                                       
2017/08/11 00:18:24 [DEBUG] agent: Node info in sync                                                                                              
2017/08/11 00:22:33 [DEBUG] http: Request GET /v1/internal/ui/nodes?dc=dc1&token=<hidden> (0s) from=127.0.0.1:52479                               
2017/08/11 00:22:33 [DEBUG] http: Request GET /v1/catalog/datacenters (37.0021ms) from=127.0.0.1:52478                                            
2017/08/11 00:22:33 [DEBUG] http: Request GET /v1/coordinate/nodes?dc=dc1&token=<hidden> (14.0008ms) from=127.0.0.1:52480                         
2017/08/11 00:22:33 [DEBUG] http: Request GET /v1/internal/ui/services?dc=dc1&token=<hidden> (0s) from=127.0.0.1:52480                            
2017/08/11 00:22:33 [DEBUG] http: Request GET /v1/health/service/myservice?dc=dc1&token=<hidden> (1.0001ms) from=127.0.0.1:52480            

有人能提供一些关于这个的信息吗?

Thx

EN

回答 1

Stack Overflow用户

发布于 2017-12-17 06:12:53

案例1有大写的HTTP,这似乎是个错误-- https://www.consul.io/docs/agent/checks.html

情况2-如果这是整个检查文件,JSON是无效的(用{}包装它)。您可能还希望通过指定service_id将其链接到服务

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45576409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档