从docker容器进行主机监控

weixin_38053953 2019-09-12 11:26:02
虽然我认为答案是否定的,但我觉得我仍然应该问:是否可以从Docker容器中监控主机系统?为了使部署和升级更容易,我希望我可以在容器中放置一些监视工具.具体来说,我正在考虑像atop,sar等工具. 思考? 谢谢.
...全文
119 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38083466 2019-09-12
  • 打赏
  • 举报
回复
可以通过将主机目录安装到容器中(例如,如Datadog客户端所做)或以“privileged”容器模式运行容器来规避Docker隔离原则.这可以防止pid / network / ipc / disk / uts命名空间,允许访问所有设备并有效地启动进程,就像它在主机上一样. 在不可变的主机系统(如CoreOS)上运行时,这些工具非常有用. 但如果您只想访问主机的某些部分,则不需要特权模式.例如,Datadog目前使用这些标志(特定于其监视要求)启动其agent(“监视容器”): docker run -d --name dd-agent -h `hostname` \ -v /var/run/docker.sock:/var/run/docker.sock -v /proc/:/host/proc/:ro \ -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -e API_KEY={your_api_key_here} \ datadog/docker-dd-agent (注意卷安装提供对主机proc和cgroup目录的只读访问,以及docker socket [监视守护进程]) Sysdig Cloud需要特权模式,因为它具有更深入的系统内省功能,同时还可以安装设备,进程,引导,模块和用户目录: docker run --name sysdig-agent --privileged --net host --pid host \ -e ACCESS_KEY=[ACCESS_KEY] -e TAGS=[TAGS] \ -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev \ -v /proc:/host/proc:ro -v /boot:/host/boot:ro \ -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/agent 使用–cap-add和–cap-drop也可以使用add and revoke individual capabilities. CoreOS提供了一个toolbox脚本(与新的docker-toolbox不同),使用systemd-nspawn而不是docker为您启动这种容器 – 它们都运行容器. systemd-nspawn与Docker的语法不同,但效果仍然相同 – 主机系统与容器共享(source): sudo systemd-nspawn \ --directory="${machinepath}" \ --capability=all \ --share-system \ --bind=/:/media/root \ --bind=/usr:/media/root/usr \ --bind=/run:/media/root/run \ --user="${TOOLBOX_USER}" "$@" 总之,您可以启动容器并安装调试工具,这些工具可以使用具有特定卷装入和/或 – 特权的Docker或CoreOS的toolbox来检查主机(以及扩展名,其他容器). 注:我个人对调试容器的偏好是Sysdig:“把sysdig想象成strace tcpdump htop iftop lsof …真棒酱.” – 目前看起来像: docker run -i -t --name sysdig --privileged \ -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev \ -v /proc:/host/proc:ro -v /boot:/host/boot:ro \ -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧