1

Я использую rabbitmq для очереди журналов для ELK на ubuntu 14.04. Я могу общаться через гостевого пользователя rabbitmq, и все работает нормально. Затем я создаю нового пользователя, используя следующие команды:Как использовать пользователя, кроме гостя в rabbitmq для ELK?

rabbitmqctl add_user username pass 
rabbitmqctl set_user_tags username administrator 

Тогда я не могу отправлять сообщения и получать следующую ошибку. Любая помощь ?

ERROR REPORT==== 30-Sep-2015::15:53:53 === 
connection <0.1626.0>, channel 1 - soft error: 
{amqp_error,not_found,"no exchange 'my-exchange' in vhost '/'", 
      'queue.bind'} 

=INFO REPORT==== 30-Sep-2015::15:54:03 === 
accepting AMQP connection <0.1638.0> (192.168.1.25:36313 -> 192.168.1.24:5672) 

=ERROR REPORT==== 30-Sep-2015::15:54:03 === 
connection <0.1638.0>, channel 1 - soft error: 
{amqp_error,not_found,"no exchange 'my-exchange' in vhost '/'", 
      'queue.bind'} 

=INFO REPORT==== 30-Sep-2015::15:54:13 === 
accepting AMQP connection <0.1650.0> (192.168.1.25:36314 -> 192.168.1.24:5672) 

=ERROR REPORT==== 30-Sep-2015::15:54:13 === 
connection <0.1650.0>, channel 1 - soft error: 
{amqp_error,not_found,"no exchange 'my-exchange' in vhost '/'", 'queue.bind'} 
=INFO REPORT==== 30-Sep-2015::15:54:23 === 
accepting AMQP connection <0.1662.0> (192.168.1.25:36315 -> 192.168.1.24:5672) 
=ERROR REPORT==== 30-Sep-2015::15:54:23 === 
connection <0.1662.0>, channel 1 - soft error: 
{amqp_error,not_found,"no exchange 'my-exchange' in vhost '/'", 
      'queue.bind'} 

ответ

2

для создания команды пользователя запуска:

rabbitmqctl add_user username pass 
    rabbitmqctl set_user_tags username administrator 
    rabbitmqctl set_permissions -p/username ".*" ".*" ".*" 

также не забудьте добавить нового пользователя в logstash файл, созданный под /etc/logstash/conf.d/

user => "username" 
password => "password" 

EDIT: подробно, если вы используете logstash для отправки журналов, вы можете создать любой файл /etc/logstash/conf.d/anyfile.conf и разместить контент, как показано ниже (ниже поместить файл, вы можете изменить его)

input { 
    file { 
     type => "logstash" 
     path => ["/var/log/anylogfilepath"] 
     start_position => "beginning" 
     sincedb_path => "/dev/null" 
    } 
} 

output { 

    rabbitmq { 
    exchange => "my-exchange" 
    host => "my.domainname.com" 
    exchange_type => "direct" 
    key => "test" 
    durable => true 
    persistent => true 
    workers => 4 
    user => "username" 
    password => "password" 


    } 

    stdout { 
    codec => rubydebug 
    } 
} 

также не забудьте RabbitMQ имя пользователя и пароль записи в качестве входных данных на конец ELK, где вы анализируете и хотите взять входные журналы из RabbitMQ.

+0

спасибо pl_rock за ответ. Я пытаюсь ваше решение. – user5402

+0

еще раз спасибо pl_rock, он работает как шарм. – user5402

Смежные вопросы