collectd 的 df 插件报告错误 free space in /home
collectd's df plugin reporting wrong free space in /home
我在机器 运行 Ubuntu 16.04 至 collect
使用指标中使用 Librato 的 collectd 版本 5.5。但是,在我的一个集群中,我无法使 df
插件报告所有 space 可用于 /
和 /home
。
如您所见,这些挂载点位于不同的 ext4
分区中。我预计它会报告分别可用于 /
和 /home
的 17G 和 1.7T。尽管我正确地收到了与 /
关联的 space,但它报告 /home
.
大约有 4GB
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 1.4G 17G 8% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 125M 3.8G 4% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda3 1.8T 8.9G 1.7T 1% /home
tmpfs 789M 0 789M 0% /run/user/0
$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda2 / ext4 errors=remount-ro,relatime 0 1
/dev/sda3 /home ext4 defaults,relatime 1 2
/dev/sda4 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devtmpfs /dev devtmpfs rw 0 0
这是我当前关于 df 的配置:
<Plugin "df">
MountPoint "/"
MountPoint "/home"
</Plugin>
...
LoadPlugin "match_regex"
<Chain "PostCache">
<Rule "ignore_df_reserved_used_metrics">
<Match "regex">
Plugin "^df"
TypeInstance "^(reserved|used)"
</Match>
Target "stop"
</Rule>
# Default behavior
Target "write"
</Chain>
我尝试了几种配置组合(以及一遍又一遍地阅读 df
插件文档),当仅使用如下所示的 FSType 时,我收到了一些测量值(usr
, boot
、bin
、lib
、lib64
、root
...),所有报告的大小都相同,约为 17G
。此外,没有测量 home
.
<Plugin df>
FSType "ext4"
</Plugin>
我也尝试过将 FSType 与 MountPoint "/"
一起使用,但当时只报告了 root
。
我最后一次尝试在配置中使用 Device
,但它没有改变任何东西。
<Plugin "df">
Device "/dev/sda2"
Device "/dev/sda3"
MountPoint "/"
MountPoint "/home"
FSType "ext4"
IgnoreSelected false
ReportInodes false
</Plugin>
在所有尝试中,collectd
未在其日志中显示任何错误:
[2017-01-13 17:06:15] Exiting normally.
[2017-01-13 17:06:15] collectd: Stopping 5 read threads.
[2017-01-13 17:06:15] collectd: Stopping 5 write threads.
[2017-01-13 17:06:15] supervised by systemd, will signal readyness
[2017-01-13 17:06:15] Initialization complete, entering read-loop.
你有什么建议吗?
事实证明,可能 collectd had this bug fixed in their last version, 5.7, which isn't available in Ubuntu 16.04 apt-get
yet. By downloading and installing their latest nightly build、df
开始报告正确的值。
我在机器 运行 Ubuntu 16.04 至 collect
使用指标中使用 Librato 的 collectd 版本 5.5。但是,在我的一个集群中,我无法使 df
插件报告所有 space 可用于 /
和 /home
。
如您所见,这些挂载点位于不同的 ext4
分区中。我预计它会报告分别可用于 /
和 /home
的 17G 和 1.7T。尽管我正确地收到了与 /
关联的 space,但它报告 /home
.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 1.4G 17G 8% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 125M 3.8G 4% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda3 1.8T 8.9G 1.7T 1% /home
tmpfs 789M 0 789M 0% /run/user/0
$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/sda2 / ext4 errors=remount-ro,relatime 0 1
/dev/sda3 /home ext4 defaults,relatime 1 2
/dev/sda4 swap swap defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
devtmpfs /dev devtmpfs rw 0 0
这是我当前关于 df 的配置:
<Plugin "df">
MountPoint "/"
MountPoint "/home"
</Plugin>
...
LoadPlugin "match_regex"
<Chain "PostCache">
<Rule "ignore_df_reserved_used_metrics">
<Match "regex">
Plugin "^df"
TypeInstance "^(reserved|used)"
</Match>
Target "stop"
</Rule>
# Default behavior
Target "write"
</Chain>
我尝试了几种配置组合(以及一遍又一遍地阅读 df
插件文档),当仅使用如下所示的 FSType 时,我收到了一些测量值(usr
, boot
、bin
、lib
、lib64
、root
...),所有报告的大小都相同,约为 17G
。此外,没有测量 home
.
<Plugin df>
FSType "ext4"
</Plugin>
我也尝试过将 FSType 与 MountPoint "/"
一起使用,但当时只报告了 root
。
我最后一次尝试在配置中使用 Device
,但它没有改变任何东西。
<Plugin "df">
Device "/dev/sda2"
Device "/dev/sda3"
MountPoint "/"
MountPoint "/home"
FSType "ext4"
IgnoreSelected false
ReportInodes false
</Plugin>
在所有尝试中,collectd
未在其日志中显示任何错误:
[2017-01-13 17:06:15] Exiting normally.
[2017-01-13 17:06:15] collectd: Stopping 5 read threads.
[2017-01-13 17:06:15] collectd: Stopping 5 write threads.
[2017-01-13 17:06:15] supervised by systemd, will signal readyness
[2017-01-13 17:06:15] Initialization complete, entering read-loop.
你有什么建议吗?
事实证明,可能 collectd had this bug fixed in their last version, 5.7, which isn't available in Ubuntu 16.04 apt-get
yet. By downloading and installing their latest nightly build、df
开始报告正确的值。