我创建了一个基于 ubuntu 14.04 的自定义 Docker 镜像,其中包含 Sensu-Client 包。
一切都很好,但现在我想知道如何触发检查以从主机运行。
例如,我希望能够检查主机上运行的进程,而不仅仅是容器内运行的进程。
谢谢
最佳答案
这取决于您要运行的检查。如果您使用 --net=host 和 --privileged 标志运行 sensu 容器,许多系统级检查都可以正常工作。
--net=host 不仅允许您看到与主机系统相同的主机名和 IP,而且所有 tcp 连接和接口(interface)指标都将匹配容器和主机。
--privileged 使容器可以完全访问系统指标,如 hdd、内存、cpu。
棘手的事情是检查外部进程指标,因为 docker 甚至将其与特权容器隔离,但您可以将主机的根文件系统共享为 docker 卷( -v/:/host)并进行补丁检查以使用 chroot 或使用/host/proc 而不是/过程。
长话短说,有些检查会起作用,对于其他检查,您需要修补或开发自己的方式,但 docker 中的 sensu 是一种可能的方式。
关于docker - Docker 容器内的 Sensu-Client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806348/