![在 Icinga2 检查磁盘中排除分区 [check_disk] 不起作用](https://linux22.com/image/737608/%E5%9C%A8%20Icinga2%20%E6%A3%80%E6%9F%A5%E7%A3%81%E7%9B%98%E4%B8%AD%E6%8E%92%E9%99%A4%E5%88%86%E5%8C%BA%20%5Bcheck_disk%5D%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在尝试从check_disk
命令中排除一个分区冰加2并且它没有按预期工作。
因此,我打开了hosts
文件并添加disk_partitions_excluded
了文档。
/* Define disks and attributes for service apply rules in `services.conf`. */
vars.disks["disk"] = {
/* No parameters. */
disk_partitions_excluded = "/snap/core/*"
}
vars.disks["disk /"] = {
disk_partitions = "/"
}
但即使这样做并重新启动后,Icinga2
错误systemcl restart icinga2
仍然没有消失。
答案1
我可以通过检查系统上的现有分区来修复它
root@icinga2:/etc/icinga2/conf.d# sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME FSTYPE SIZE MOUNTPOINT LABEL
loop0 squashfs 91M /snap/core/6350
loop1 squashfs 89.4M /snap/core/6818
sda 40G
├─sda1 1M
└─sda2 ext4 40G /
sr0 1024M
然后在排除参数中明确指定它们
/* Define disks and attributes for service apply rules in `services.conf`. */
vars.disks["disk"] = {
/* No parameters. */
disk_partitions_excluded = ["/snap/core/6350", "/snap/core/6818"]
}
vars.disks["disk /"] = {
disk_partitions = "/"
}
我不确定为什么通配符不起作用。
答案2
一种解决方案可能是使用disk_ignore_ereg_path
:
/* Define disks and attributes for service apply rules in `services.conf`. */
vars.disks["disk"] = {
disk_all = true
disk_ignore_ereg_path = ["/snap/core/.*"]
}
vars.disks["disk /"] = {
disk_partitions = "/"
}
然而,disk_all
必须将其设置为 true 才能监控所有其他磁盘。