1

そのため、コンテナーを監視し、コンテナーが停止したときにクリティカルになるように設計されたコンサル チェックがあります。チェックが重要になった後、またはいくつかの重要な応答の後にスクリプトを実行する領事ウォッチを作成したい (たとえば、チェックが 5 つの重要な応答を送信した場合、スクリプトを実行したい)。

これが私の動作チェック用のjsonであり、私の時計がどのように見えるかについての私の推測です:

{

 // this check works
 "checks": [
    {
        "id": "docker_stuff",
        "name": "curl test",
        "notes": "curls the docker container",
        "script": "/scripts/docker.py",
        "interval": "1s"
    }
 ],

 //this watch doesn't work
 "watches": [
    {
        "Node": "client2",
        "CheckID": "docker-stuff",
        "Name": "docker-stuff-watch",
        "Status": "critical",
        "Status_amt": "5",
        "handler": "/scripts/new-docker.sh",
        "Output": "container relaunched",
    }
 ]

}

時計を機能させるには、何を変更する必要がありますか?

/scripts/new-docker.shまた、consul イベントを使用してヘルス チェックを監視し、スクリプトを実行する (イベント タイプの) consul 監視をトリガーする必要がありますか? もしそうなら、健康診断を見守る領事イベントをどのように作るのですか?たとえば、これが領事のチェック、ウォッチ、およびイベントである場合、これを機能させるには何を変更する必要がありますか?

{
 "checks": [
    {
        "id": "docker_stuff",
        "name": "curl test",
        "notes": "curls the docker container",
        "script": "/scripts/docker.py",
        "interval": "1s"
    }
 ],
 "watches": [
    {     
        "type": "event", 
        "name": "docker-stuff-watch",
        "handler": "/scripts/new-docker.sh"
    }
 ],
 "events": [
    {
        "Node": "client2",
        "CheckID": "docker-stuff",
        "Name": "docker-stuff-event",
        "Status": "critical",
        "Status_amt": "5",
        "Output": "container relaunched",
    }
 ]
}
4

2 に答える 2

0

次のバージョンの Docker 1.12 (現時点ではリリース候補) へのアップグレードを検討することをお勧めします。サービスの新しい概念を使用して、実行するコンテナの数を指定できます。

Dockerfile には新しいHEALTHCHECKディレクティブもあり、チェック スクリプトをコンテナー イメージにバンドルできます。

これらの新機能により、consul を使用して実装する必要があった機能を置き換えることができる場合があります。

于 2016-06-27T20:48:23.770 に答える