2017-02-17 19 views
0

Я пытаюсь опубликовать сообщения от rsyslog на kafka на удаленной машине с помощью модуля omkafka.Разрешение отказано в модуле omkafka rsyslog

My omkafka action is configured as: 
if $HOSTNAME == 'localhost' then { 
    action(type="omkafka" 
    name="log_kafka" 
    broker="192.168.100.50:9092" 
    topic="rsyslog_kafka" 
    errorfile="/var/log/omkafka/log_kafka_failures.log" 
    template="hostipFormat"<br/> 
    ) 
} 

Мой экземпляр Кафка работает нормально, и я могу опубликовать данные, используя файл Кафка-producer.bat от другой машины окна.

Но когда я начинаю свою службу Rsyslog, я получаю следующее сообщение об ошибке:

Feb 17 16:42:01 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0" x-pid="1764" x-info="http://www.rsyslog.com"] start Feb 17 16:42:05 localhost rsyslogd: omkafka: kafka message 192.168.100.50:9092/bootstrap: Failed to connect to broker at 192.168.100.50:9092: Permission denied [v8.24.0 try http://www.rsyslog.com/e/2422 ] Feb 17 16:42:05 localhost rsyslogd: omkafka: kafka message 1/1 brokers are down [v8.24.0 try http://www.rsyslog.com/e/2422 ] Feb 17 16:42:05 localhost rsyslogd: omkafka: kafka message 192.168.100.50:9092/bootstrap: Failed to connect to broker at 192.168.100.50:9092: Permission denied [v8.24.0 try http://www.rsyslog.com/e/2422 ] Feb 17 16:42:05 localhost rsyslogd: omkafka: kafka message 1/1 brokers are down [v8.24.0 try http://www.rsyslog.com/e/2422 ]

Я не уверен, является ли это связано с omkafka или librdkafka.

Нужна помощь.

ответ

0

Я получил причину этой проблемы. Это произошло из-за SELINUX в centos. После отключения службы SELINUX конфигурация работает нормально.

0

У меня была та же проблема. Вместо того, чтобы отключить SELinux и тем самым открыть себя в мире обид. Я использовал audit2why, который точно говорит вам, почему что-то отказывается в своих опровержениях. Это также полезно, поскольку он может сказать вам, что вам нужно сделать, чтобы исправить эту проблему.

Audit2why читает /var/log/audit/audit.log, а затем сообщает вам, почему что-то отрицается, и иногда может сообщить вам, что вам нужно сделать, чтобы исправить проблему. В моем случае это была

type=AVC msg=audit(1492149030.280:296487): avc: denied { name_connect } for pid=2277 comm=72733A6D61696E20513A526567 dest=9092 scontext=system_u:system_r:syslogd_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket Was caused by: The boolean nis_enabled was set incorrectly. Description: Allow nis to enabled Allow access by executing: # setsebool -P nis_enabled 1
Окончательный комментировал линии есть именно то, что должно быть набрано, чтобы это выполнить, и это может быть сделано без отключения надлежащего контроля безопасности. После того, как был выполнен sudo setsebool -P nis_enabled 1, я перезапустил rsyslog, и kafka смог полностью использовать мои сообщения.