2017-06-29 2 views
1

Ich möchte HTTP-Prüfungen für Dienste ausführen, die als externe Dienste mit Konsul registriert sind. Solange wird der Scheck registriert, aber nie aufgerufen. Was vermisse ich.HTTP-Prüfung für externe Dienste aktivieren Consul

{ 
"Datacenter": "dc1", 
"Node": "new", 
"Address": .google.com", 
"Service": { 
    "ID":"re", 
    "Service": "search2", 
    "Port": 80 
}, 
"Check":{ 
     "Node":"new", 
     "CheckID":"Test", 
     "HTTP":"http://www.google", 
     "ServiceID":"re" 
} 
} 

Antwort

0

Sie haben Interval angeben Service zu prüfen health.You es tun können, wie folgt:

Für TCP-Port-Check:

{ 
"check": { 
"id": "http", 
"name": "http TCP on port 80", 
"tcp": "localhost:80", 
"interval": "10s", 
"timeout": "1s" 
} 
} 

Für HTTP api-Check:

{ 
"check": { 
"id": "api", 
"name": "HTTP API on port 5000", 
"http": "https://localhost:5000/health", 
"tls_skip_verify": false, 
"method": "POST", 
"header": {"x-foo":["bar", "baz"]}, 
"interval": "10s", 
"timeout": "1s" 
} 
} 
+0

Diese Methode eignet sich für Dienste, die auf lokalen Knoten, jedoch nicht für externe Dienste ausgeführt werden. –

+0

hi @deepak: Ich bin Windows-Plattform, um den Konsul zu führen. Ich habe versucht, die ähnliche Konfiguration, die Sie gepostet haben. Aber der Gesundheitscheck hat sich nie registriert. Irgendeine Idee? Meine ganze Config ist hier: { "Service": { "id": "somename", \t "name": "nameofthissevice", "Service": "myservice", "Adresse": „127.0.0.1 " "Port": 62133, "enableTagOverride": false, \t "check": { "id": "somename", "name": "nameofthissevice", "http":" http://127.0.0.1:62133/Service1.svc/MyService/PingMe“ "tls_skip_verify": false, "Methode": "GET" "Intervall": "10s" "timeout": "1s" } } } – NANDAKUMAR

Verwandte Themen