Sensu-Client パッケージを内部に含む、ubuntu 14.04 に基づくカスタマイズされた Docker イメージを作成しました。
すべてがうまくいきましたが、ホスト マシンからチェックを実行する方法を知りたいと思っています。
たとえば、コンテナー内で実行されているプロセスだけでなく、ホスト マシンで実行されているプロセスも確認できるようにしたいと考えています。
ありがとう
Sensu-Client パッケージを内部に含む、ubuntu 14.04 に基づくカスタマイズされた Docker イメージを作成しました。
すべてがうまくいきましたが、ホスト マシンからチェックを実行する方法を知りたいと思っています。
たとえば、コンテナー内で実行されているプロセスだけでなく、ホスト マシンで実行されているプロセスも確認できるようにしたいと考えています。
ありがとう
実行するチェックによって異なります。--net=host および --privileged フラグを指定して sensu コンテナを実行すると、多くのシステム レベル チェックが正常に機能します。--net=host を使用すると、ホスト システムと同じホスト名と IP を表示できるだけでなく、すべての tcp 接続とインターフェイス メトリックがコンテナーとホストで一致します。
--privileged は、hdd、メモリ、cpu などのシステム メトリックへのフル アクセスをコンテナに付与します。
トリッキーなことは、docker が特権コンテナーからも分離するため、外部プロセスのメトリックをチェックすることですが、ホストのルート ファイルシステムを docker ボリューム ( -v /:/host) として共有し、chroot を使用するか、/ の代わりに /host/proc を使用するパッチ チェックを行うことができます。 proc。
手短に言えば、一部のチェックは機能しますが、他のチェックは独自の方法でパッチを適用または開発する必要がありますが、docker での sensu は 1 つの可能な方法です。
これは今のところ不可能だと思います。ホスト インスタンスのプロセスが docker 内で実行されている場合は、ソケットをマウントして、sensu コンテナーからステータスを取得できます。