sgreszcz
(Stephen Greszczyszyn)
June 21, 2018, 4:04pm
1
Hi there,
I'm trying to configure metricbeats to show disk usage, particularly for /root /boot /data mount points. I've set up metricbeats.yml like this for system.filesystem module:
- module: system
enabled: true
period: 1m
metricsets:
- filesystem
- fsstat
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host)($|/)'
But for some reason, I'm only getting these outputs.
Here is "sudo df -h" which shows how the disks are on my system.
sudo df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.1G 317M 2.8G 11% /run
/dev/mapper/cdc--alln--001--vg-root 98G 11G 83G 12% /
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 472M 155M 293M 35% /boot
/dev/sdb1 10T 7.4T 2.1T 78% /data
overlay 10T 7.4T 2.1T 78% /data/docker/overlay2/9e8bb119e90eec7c3e686ffe74b056a6824e45d91ae24022fd949557f7d31f6c/merged
shm 64M 0 64M 0% /data/docker/containers/21367ab218b79810de093e121d365b03f62f394e1bc1dd1b5717d2da83fe3805/mounts/shm
overlay 10T 7.4T 2.1T 78% /data/docker/overlay2/ea308c7faf25ab2fcf3b576fa2c8a19525f380b1af2167fe746ff14e148ae3bf/merged
sgreszcz
(Stephen Greszczyszyn)
June 21, 2018, 7:23pm
2
I've also tried this with using filesystem.ignore_types: [sysfs, proc, devpts, securityfs, cgroup, systemd-1, hugetlbfs, mqueue, fusectl, lxcfs, overlay, shm, nsfs, binfmt_misc, tracefs, udev, tmpfs]
to try and isolate only the mounts/filesystems I'm interested in. Unfortunately it isn't working either.
jsoriano
(Jaime Soriano)
June 22, 2018, 11:21am
3
Hi @sgreszcz ,
It looks like you are running metricbeat in docker. Could you try to add hostfs to the list of mount points in the drop_event processor? It'd be something like:
processors:
- drop_event.when.regexp:
system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|hostfs)($|/)'
1 Like
sgreszcz
(Stephen Greszczyszyn)
July 3, 2018, 4:54pm
4
Hi Jaime,
I'm actually trying to use the filter so metricbeat ignores the filetypes before parsing rather than filtering after the fact. This should work no? The docs days so: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-system-filesystem.html
- module: system
enabled: true
period: 1m
metricsets:
- filesystem
- fsstat
filesystem.ignore_types: [hostfs, sysfs, proc, devpts, securityfs, cgroup, systemd-1, hugetlbfs, mqueue, fusectl, lxcfs, overlay, shm, nsfs, binfmt_misc, tracefs, udev, tmpfs, debugfs. autofs, devmpfs, fuse.lxcfs, pstore]
# processors:
# - drop_event.when.regexp:
# system.filesystem.mount_point: '.*'
I'll try to do it with a drop_event and see if that works...
jsoriano
(Jaime Soriano)
July 4, 2018, 11:21am
5
Indeed some of the filesystems that appear in your screenshot should be ignored, for example the filesystems of the docker namespaces are of type nsfs. What version of metricbeat are you using?
Tell us in any case also if the drop_event processor works for you.
sgreszcz
(Stephen Greszczyszyn)
July 4, 2018, 12:20pm
6
I'm using the latest metricbeat 6.3 and a standard Ubuntu LTS16.04 as the base system we are building upon.
Here is what I get when I "sudo df -h":
sudo df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.7G 0 7.7G 0% /dev
tmpfs 1.6G 158M 1.4G 11% /run
/dev/mapper/cdc--alln--stg--vg-root 16G 9.6G 4.9G 67% /
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/sdb1 197G 13G 175G 7% /data
/dev/sda1 472M 204M 244M 46% /boot
overlay 197G 13G 175G 7% /data/docker/overlay2/88e3f9644ecb4659208c33e32458186e40faa584294b1f661661ee8ccb31ce8f/merged
overlay 197G 13G 175G 7% /data/docker/overlay2/f10c4974d9779092369bec9b6bd4265fa641d5fb6841ca87cacceaf489b29c55/merged
overlay 197G 13G 175G 7% /data/docker/overlay2/aa155bac0b2f742b47a68a959113bce827dd0175e4c319333ba72d52fbac9e7a/merged
overlay 197G 13G 175G 7% /data/docker/overlay2/6194de50e03f05fcc96c2eeb6e23b2d1ca1fea3a3a1d48d610e5227205efe4ff/merged
overlay 197G 13G 175G 7% /data/docker/overlay2/b0aad6c345f8523d28beb2261d000353a03b08eb26e7368e28f9cbd281972f9b/merged
shm 64M 64K 64M 1% /data/docker/containers/2f9c2b74197c6a42b3de11c13937f763b8d3df49b52038b28ed73a6cf130e236/mounts/shm
shm 64M 0 64M 0% /data/docker/containers/02f08fe30ed9f45746f4125867b7fb718fb23ff422e39bb0190e2a8a099400f6/mounts/shm
shm 64M 0 64M 0% /data/docker/containers/1db10faa880ba1cdaac00bc4962bd1ab672e987a07d3eaa02b81fc63af3074c2/mounts/shm
shm 64M 0 64M 0% /data/docker/containers/bd4b65647675e33748bd780998991d3f822b87c50e48cc632501c6aa98eb6150/mounts/shm
shm 64M 0 64M 0% /data/docker/containers/ac124ea897ec816a2a853a16ce22ff953604309b11356f54597ae6046248990d/mounts/shm
overlay 197G 13G 175G 7% /data/docker/overlay2/56b42a2c1bb01900bdc4d6aac3caa1c47309d04f12fa875a05acdcdb1e00497f/merged
shm 64M 0 64M 0% /data/docker/containers/3ec9b5d75b569d16bc6b90819cb98ec66e79fbd3d1ea4b332b970b993c26208e/mounts/shm
tmpfs 1.6G 0 1.6G 0% /run/user/1010
overlay 197G 13G 175G 7% /data/docker/overlay2/46542dbedd15010709789810cfb477ab45fe3bb0a27edf25ae00db9ba00fbf4f/merged
shm 64M 0 64M 0% /data/docker/containers/6e48b526dee7258c5332fdd7e91fc8ebbca718a331768e552895557f186f8876/mounts/shm
tmpfs 1.6G 0 1.6G 0% /run/user/3007
but I'm only interested in these 3:
/dev/mapper/cdc--alln--stg--vg-root 16G 9.6G 4.9G 67% /
/dev/sdb1 197G 13G 175G 7% /data
/dev/sda1 472M 204M 244M 46% /boot
In metricbeats system.filesystem fields I get:
system.filesystem.device_name: nsfs, /dev/mapper/cdc--alln--stg--vg-root, /dev/sda1, /dev/sdb1, lxcfs
system.filesystem.mount_point: /etc/hosts, /hostfs, /hostfs/boot, /hostfs/run/docker/netns/2b16a598038b (and many other docker mounts), /hostfs/var/lib/lxcfs
system.filesystem.type: nsfs, ext4, ext2, fuse.lxcfs
Kibana default visualisation uses system.filesystem.mount_point which isn't great as it seems to be looking at the /hostfs points. Also it doesn't update very well when refresh is on (sometimes sets to 0%):
Telegraf/InfluxDB/Cronograf seems to get disk space monitoring right out of the box so I'm not sure what linux system parameters they are monitoring:
sgreszcz
(Stephen Greszczyszyn)
July 4, 2018, 4:59pm
7
Funny that metricbeats seems to be finding the correct system.filesystem.device_name (/dev/sda1, /dev/sdb1, /dev/mapper for boot) from the Ubuntu host system.
But it isn't finding the respective Ubuntu system mount points with system.filesystem.mount_point (/, /data, /boot)
system
(system)
Closed
August 1, 2018, 4:59pm
8
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.