Permissions
Zabbix Agent 無法讀取 /var/log/messages
所以我試圖監控執行 Centos 7 的 VM 的日誌。特別是出現問題的是 /var/log/messages。我已經更改了文件的組所有權(在 logrotate.conf 中進行了相關更改)並手動更改了已創建的文件。您可以在下面看到它的權限:
[matias@Centos_7_VM ~]$ sudo ls -lh /var/log/messages -rw-rwx---+ 1 root zabbix 889K jul 25 10:53 /var/log/messages [matias@Centos_7_VM ~]$ getfacl /var/log/messages getfacl: Removing leading '/' from absolute path names # file: var/log/messages # owner: root # group: zabbix user::rw- user:zabbix:rwx group::--- mask::rwx other::---
但即使進行了所有這些更改,zabbix 代理也被拒絕讀取該日誌。是否有其他東西阻止該程序讀取文件?
代理日誌
993:20180725:062459.211 Starting Zabbix Agent [Centos_7_VM]. Zabbix 3.2.11 (revision 76339). 993:20180725:062459.256 **** Enabled features **** 993:20180725:062459.257 IPv6 support: YES 993:20180725:062459.257 TLS support: YES 993:20180725:062459.257 ************************** 993:20180725:062459.257 using configuration file: /etc/zabbix/zabbix_agentd.conf 993:20180725:062459.303 agent #0 started [main process] 999:20180725:062459.359 agent #1 started [collector] 1003:20180725:062459.396 agent #2 started [listener #1] 1004:20180725:062459.406 agent #3 started [listener #2] 1005:20180725:062459.413 agent #4 started [listener #3] 1007:20180725:062459.472 agent #5 started [active checks #1] 1007:20180725:105103.700 active check "log[/var/log/messages,(?i)error]" is not supported: Cannot open file "/var/log/messages": [13] Permission denied
它被稱為 SELinux。
不幸的是,Zabbix 代理的 SELinux 策略(還)沒有得到很好的開發,幾乎任何你想要監控的東西都會被拒絕。我個人將 Zabbix 代理類型設置為允許解決此問題。這讓 Zabbix 代理基本上可以繞過 SELinux,而它仍然適用於系統上的所有其他內容。
semanage permissive -a zabbix_agent_t
如果您不想以任何方式禁用 SELinux:
您可以通過執行檢查它是否是 SELinux,
audit2allow -a
並檢查是否有任何包含 Zabbix 的輸出。您也可以簡單地臨時設置許可模式來驗證阻塞:
sudo setenforce 0
- 檢查 zabbix 代理是否可以做它的事情
sudo setenforce 1
如果確實是 SELinux 拒絕代理,請嘗試以下操作:
創建一個策略以允許拒絕 Zabbix 的任何內容(作為 root 或 sudo):
grep zabbix /var/log/audit/audit.log | audit2allow -M myzabbix
這會將任何 Zabbix 拒絕通過管道傳輸到 audit2allow 中,這會在您所在的目錄中創建一個策略文件並編譯二進製文件。我通常這樣做是
/root/selinux
為了保持整潔。然後執行
semodule -i myzabbix.pp
這會將策略載入到 SELinux 中,並且它是永久性的,因此無需擔心重啟會逆轉策略。