Docker 如何监控主机&x27;s文件系统位于停靠的Topbeat中
我想用Elasticsearch Topbeat监视我的主机。但是在Docker容器中运行Topbeat似乎容器看不到主机的FS,而只看到通过--volume run选项装载的内容。 例如:Docker 如何监控主机&x27;s文件系统位于停靠的Topbeat中,docker,topbeat,Docker,Topbeat,我想用Elasticsearch Topbeat监视我的主机。但是在Docker容器中运行Topbeat似乎容器看不到主机的FS,而只看到通过--volume run选项装载的内容。 例如: root$ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 6.9G 2.0G 4.7G 30% / root$ docker run --name Topbeat --net host --pid hos
root$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 6.9G 2.0G 4.7G 30% /
root$ docker run --name Topbeat --net host --pid host --dns=127.0.0.1 --volume /var/log:/var/log frg-topbeat:latest
root$ docker exec -it Topbeat df -h
Filesystem Size Used Avail Use% Mounted on
none 6.9G 2.0G 4.7G 30% /
tmpfs 501M 0 501M 0% /dev
tmpfs 501M 0 501M 0% /sys/fs/cgroup
/dev/vda1 6.9G 2.0G 4.7G 30% /var/log <-- I wanted to see the / mount point and not only /var/log
shm 64M 0 64M 0% /dev/shm
尝试使用:当操作员执行docker run--privileged时,docker将启用对主机上所有设备的访问,并在AppArmor或SELinux中设置一些配置,以允许容器几乎与主机上容器外部运行的进程对主机的访问相同。使用--privileged不会发生任何更改。奇怪的是,我注意到topbeat在FS:/var/log(give in-v)、/etc/resolv.conf(never-given-anywhere!!)和/etc/hosts(never-given-anywhere)上提供了信息。这种行为与--privileged和not相同。Topbeat是如何找到其FS的?检查是否升级到
metricbeat
,它是Topbeat
的一个扩展,具有运行它的附加功能:当操作员执行docker run时--privileged,Docker将启用对主机上所有设备的访问,并在AppArmor或SELinux中设置一些配置,以允许容器几乎与主机上容器外部运行的进程对主机的访问相同。对于--privileged,没有任何更改。奇怪的是,我注意到topbeat在FS:/var/log(give in-v)、/etc/resolv.conf(never-given-anywhere!!)和/etc/hosts(never-given-anywhere)上提供了信息。这种行为与--privileged和not相同。Topbeat是如何找到其FS的?检查是否升级到metricbeat
,它是Topbeat
的扩展,具有其他功能
root$ docker exec -it Topbeat /bin/bash
root@tst-rpx-master-0:/# mount
...
/dev/vda1 on /var/log type ext3 (rw,relatime,errors=remount-ro,data=ordered)
/dev/vda1 on /etc/resolv.conf type ext3 (rw,relatime,errors=remount-ro,data=ordered)
/dev/vda1 on /etc/hostname type ext3 (rw,relatime,errors=remount-ro,data=ordered)
/dev/vda1 on /etc/hosts type ext3 (rw,relatime,errors=remount-ro,data=ordered)
...