Fedora
Zabbix 2.0 上存在 vfs.file.exists 的問題
我在 64 位 Fedora 19 機器上的 Zabbix 2.0.6 上遇到 vfs.file.exists 問題。在撰寫本文時,2.0.6 是 Fedora yum 儲存庫提供的最新版本。
我想檢查文件 /tmp/test 是否存在:
[root@localhost ~]# ls -l /tmp/test -rw-r--r-- 1 root root 14 Sep 16 10:30 /tmp/test
如果我執行我直接用 zabbix_agentd 檢查,它正確地確定該文件存在:
[root@localhost ~]# zabbix_agentd -t "vfs.file.exists[/tmp/test]" vfs.file.exists[/tmp/test][/tmp/test] [u|1]
但是,如果我使用 zabbix_get,無論文件是否存在,它總是返回 0:
[root@localhost log]# zabbix_get -s 127.0.0.1 -k "vfs.file.exists[/tmp/test]" 0
這很奇怪,因為當從同一台伺服器連接到執行舊版本 Zabbix 代理(1.8.13)的遠端機器(也是 Fedora)時,相同的測試可以完美執行:
[root@localhost log]# zabbix_get -s remote.example.com -k "vfs.file.exists[/tmp/test]" 1
有些事情會起作用:
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k "system.uname" Linux host.example.com 3.9.5-301.fc19.x86_64 #1 SMP Tue Jun 11 19:39:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "system.uptime" 237830 [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "system.run[whoami]" zabbix
但是,AFAICT,所有 vfs.file.* 鍵都不起作用:
[root@localhost ~]# zabbix_get -s 127.0.0.1 -k "vfs.file.cksum[/tmp/test]" ZBX_NOTSUPPORTED [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "vfs.file.contents[/tmp/test]" ZBX_NOTSUPPORTED [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "vfs.file.md5sum[/tmp/test]" ZBX_NOTSUPPORTED [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "vfs.file.size[/tmp/test]" ZBX_NOTSUPPORTED [root@localhost ~]# zabbix_get -s 127.0.0.1 -k "vfs.file.time[/tmp/test]" ZBX_NOTSUPPORTED
我已經檢查了 zabbix 使用者可以訪問該文件,所以它不是權限問題:
[root@localhost ~]# sudo su -s /bin/bash zabbix bash-4.2$ whoami zabbix bash-4.2$ ls -l /tmp/test -rw-r--r-- 1 root root 14 Sep 16 10:30 /tmp/test
SELinux 也被禁用。
我做錯了什麼,或者這是 Zabbix 特定版本/發行版中的錯誤?
在目前版本的 Fedora 上,Zabbix 代理與許多其他系統服務一樣,具有私有命名空間
/tmp
,並且無法看到/tmp
由其他程序創建的文件。由於您正在測試,請嘗試檢查另一個目錄中是否存在文件。