2016-04-03 4 views
0

私は現在領事と遊んでいます。 私は、4つのVMでの迷惑メールテストのセットアップを行っています。領事は消えた健康資源を認識しません

1:consulサーバー、 2〜4:ノード。

各ノードは、領事代理人、登録者、およびいくつかのマイクロサービス(すべてDockerを使用)を実行しています。

クラスタを起動すると、すべてのサービスとノードがconsulで「通過」とマークされます。

これまでのところとても良いです。

ノードの1つをシャットダウンすると、consulが "Serf Health Status"を失敗としてマークしますが、VM全体がシャットダウンされても、HTTP正常性チェックは "通過"とマークされます。

consulの文書によると、ヘルスチェックのタイムアウトは10秒になるはずなので、VMのシャットダウン後、ヘルスチェックが失敗したとマークされると仮定しました。それはなぜですか?

答えて

0

わかりましたが、これを得ました。 領事論理のようです。 SERFが失敗するとすぐに、サービスの最後の状態が維持されます。 正しいhealth-url(http://localhost:8500/v1/health/service/my-cool-service-name?passing)を使用すると、consulは、サービスを直接見ているときに「通過」状態でない限り、残りの2つのサービスのみを期待どおりに返します。

1

領事は、3日(72時間)後に承認を受け取っていないノードを削除します。

consulサーバーに対して、http APIを使用してcurlコマンドを実行すると、小切手やサービスの登録を解除できます。

  1. まず、それはこのようなものが返されます、サービス名とそのサービスのチェック

http://consulserver:8500/v1/health/checks/<service-name>

を得る:失敗したとして [{"Node":"b7ea2063deb5","CheckID":"service:myapp","Name":"Service 'myapp' check","Status":"passing","Notes":"runs SELECT 1","Output":" online \n--------\n 1\n(1 row)\n\n","ServiceID":"myapp","ServiceName":"myapp","CreateIndex":11488,"ModifyIndex":11491}]

は、使用しているヘルスチェックをマーク"CheckID":

/v1/agent/check/fail/

このエンドポイントは、TTLタイプのチェックで使用されます。このエンドポイントがGET経由でアクセスされると、チェックのステータスがクリティカルに設定され、TTLクロックがリセットされます。

http://consulserver:8500/v1/health/fail/service:myapp

応答がCheckID does not have associated TTL

であれば、あなたのチェックがタイプTTLのではありません。さまざまなチェックの種類について

より多くの情報をここで見つけることができます:

https://www.consul.io/docs/agent/checks.html

のHTTP APIを照会するときあなたが受け取る回答から任意の実際の出力せずに実行するために、あなたに適切なコマンドを与えることは非常に困難です。

ます。また、それは

/V1 /エージェント/サービスを実行して、まだそこにある場合は、サービス全体の登録を解除しようとすることができます/登録解除エンドポイントはからサービスを削除するために使用される/

登録解除ローカルエージェント。 ServiceIDは、スラッシュの後に渡す必要があります。エージェントは、カタログを使用してサービスの登録を解除します。関連する小切手がある場合は、その小切手も登録解除されます。

成功した場合、戻りコードは200です。

https://www.consul.io/docs/agent/http/agent.html#agent_service_deregister

+0

問題は、それぞれのサービスの基礎となるヘルスリソースがもはや使用できなくなっても、ヘルスチェックが「合格」とマークされていることです。 私の理解では、ヘルスリソースへの呼び出しが失敗したりタイムアウトになったりすると、ヘルスステータスが「失敗」に切り替わるはずです。 そうでない場合は、ヘルスチェック全体が意味をなさないはずです;) – peez80

関連する問題