Ошибка в политике SeLinux для zabbix в CentOS 6.5
Описание проблемы
Заббикс не корректно работает (не собирает некоторые показатели, в частности количество процессов) при включенной политике SeLinux. Это проблема в пакете политик SeLinux, поставляемом CentOS. Есть трабл-тикет на эту тему.
Проверить версию пакета:
rpm -q selinux-policy
если версия пакета 3.7.19-231, то у вас проблемы
Решение
Вариант 1 – отключить политику zabbix в SeLinux:
/etc/init.d/zabbix-agent stop && semodule -r zabbix && /etc/init.d/zabbix-agent start
Вариант 2 – исправление к политике (не проверено)
Create the policy file /usr/share/selinux/devel/zabbix-fix.te:
policy_module(zabbix-fix, 1.0) require{ type zabbix_agent_t; type zabbix_t; type ping_t; type zabbix_tmp_t; } allow ping_t zabbix_tmp_t:file read_file_perms; allow ping_t zabbix_t:tcp_socket { read write }; kernel_read_network_state(zabbix_agent_t) domain_read_all_domains_state(zabbix_agent_t) dev_read_sysfs(zabbix_agent_t) corenet_tcp_connect_all_ports(zabbix_agent_t)
Then, build the policy:
# make zabbix-fix.pp Compiling targeted zabbix-fix module /usr/bin/checkmodule: loading policy configuration from tmp/zabbix-fix.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 10) to tmp/zabbix-fix.mod Creating targeted zabbix-fix.pp policy package rm tmp/zabbix-fix.mod tmp/zabbix-fix.mod.fc
Then, install the policy:
semodule -i zabbix-fix.pp
Then verify it’s installed:
# semodule -l | grep zabbix-fix zabbix-fix 1.0
After installing the module, you can disable it:
semodule -d zabbix-fix
Or enable it:
semodule -e zabbix-fix