2017-02-17 438 views
0

我正尝试使用omkafka模块在远程计算机上将rsyslog的消息发布到kafka。权限在rsyslog的omkafka模块中被拒绝

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/> 
    ) 
} 

我的卡夫卡实例运行良好,我能够使用另一台Windows机器上的kafka-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 ]

我不知道这是否是有关omkafkalibrdkafka

需要帮助。

回答

0

我得到了这个问题的原因。这是因为SELINUX在centos中。一旦我禁用SELINUX服务,配置工作正常。

0

我有同样的问题。而不是禁用SELinux,从而打开自己的世界受到伤害。我用audit2why,告诉你为什么有人拒绝他们的avc拒绝。它也很有用,它可以告诉你你需要做什么来解决问题。

Audit2为什么读取/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能够正常使用我的消息。