Zabbix Agent не может читать / var / log / messages

Итак, я пытаюсь отслеживать журналы виртуальной машины, на которой работает Centos 7. В частности, проблема связана с / 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
0
задан 25 July 2018 в 17:59
2 ответа

Это называется SELinux.

К сожалению, политика SELinux для агента Zabbix не очень хорошо разработана (пока), и почти все, что вы хотите отслеживать, будет отклонено. Я лично установил тип агента Zabbix как разрешающий, чтобы обойти это. Это позволяет Zabbix агенту по существу обходить SELinux, в то время как он по-прежнему применяется ко всему остальному в системе.

semanage permissive -a zabbix_agent_t
2
ответ дан 4 December 2019 в 13:25

Если вы предпочитаете не отключать SELinux каким-либо образом:

Вы можете проверить, является ли это SELinux, запустив audit2allow -a и проверить, есть ли какие-либо выходные данные, которые включают Заббикс.Также вы можете временно установить разрешающий режим для проверки блокировки:

  1. sudo setenforce 0
  2. Проверить, может ли агент zabbix делать свою работу
  3. 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, и она будет постоянной, поэтому не нужно беспокоиться о перезагрузке, отменяющей политику.

0
ответ дан 8 April 2020 в 19:08

Теги

Похожие вопросы