![RabbitMQ - Не удалось найти файл rabbitmq.conf](https://rvso.com/image/1601145/RabbitMQ%20-%20%D0%9D%D0%B5%20%D1%83%D0%B4%D0%B0%D0%BB%D0%BE%D1%81%D1%8C%20%D0%BD%D0%B0%D0%B9%D1%82%D0%B8%20%D1%84%D0%B0%D0%B9%D0%BB%20rabbitmq.conf.png)
Я использую RabbitMQ 3.7.7 и выполнил следующие шаги по установке на Windows Server 2012 R2 Standard:
- Установите Erlang OTO 21 (10.0.1) с параметрами по умолчанию в мастере, не внося никаких изменений в мастер.
- Установите RabbitMQ 3.7.7, используя параметры по умолчанию в мастере, не внося никаких изменений в мастер.
- В процессе установки я не создавал никаких переменных среды и т.п.
- После завершения установки Erlang и RabbitMQ служба RabbitMQ запущена и по умолчанию журнал создается по пути
\AppData\Roaming\RabbitMQ\log
. В настоящее время мы видим слишком много записей «INFO» в этом журнале, и журнал заполняется слишком быстро, что будет ненужно съедать дисковое пространство со скоростью почти 500 МБ в день, что приведет к другим проблемам в течение нескольких дней. Мы заинтересованы в том, чтобы в файле журнала регистрировались только «Error» и чтобы «Info» не регистрировалось. - В меню «Выполнить» -> services.msc остановите службу RabbitMQ.
- В файле журнала указан путь к файлам конфигурации следующим образом:
файл(ы) конфигурации: c:/Users/MANPRE~1.SIN/AppData/Roaming/RabbitMQ/advanced.config
: c:/Users/MANPRE~1.SIN/AppData/Roaming/RabbitMQ/rabbitmq.conf
Поскольку я не могу найти файл rabbitmq.conf в папке \AppData\Roaming\RabbitMQ
, я бы скорее ожидал увидеть в журнале запись для конфигурации «rabbitmq.conf not found», но такой записи в журнале нет.
- Однако я могу найти
rabbitmq.config.example
файл по тому же пути. Я раскомментирую код и удаляю комментарии из файла и сохраняю файл, как показано ниже:
''' [
{кролик, [{tcp_listeners, [5672]},
{tcp_listeners, [{"127.0.0.1", 5672},
{"::1", 5672}]},
{ssl_listeners, [5671]},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{handshake_timeout, 10000},
{reverse_dns_lookups, false},
{loopback_users, [<<"guest">>]},
{loopback_users, []},
{ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},
{certfile, "/path/to/server/cert.pem"},
{keyfile, "/path/to/server/key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, false}]},
{auth_mechanisms, ['PLAIN', 'AMQPLAIN']},
{auth_backends, [rabbit_auth_backend_internal]},
{auth_mechanisms, ['EXTERNAL']},
{auth_backends, [rabbit_auth_backend_ldap]},
{ssl_cert_login_from, distinct_name},
{ssl_handshake_timeout, 5000},
{ssl_allow_poodle_attack, false},
{password_hashing_module, rabbit_password_hashing_sha256},
{config_entry_decoder, [{passphrase, <<"mypassphrase">>}]}
{config_entry_decoder, [{passphrase, {file, "/path/to/passphrase/file"}}]}
{config_entry_decoder, [{passphrase, prompt}]}
{config_entry_decoder, [{cipher, aes_cbc256},
{hash, sha512},
{iterations, 1000}]}
{default_vhost, <<"/">>},
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{default_permissions, [<<".">>, <<".">>, <<".*">>]},
{default_user_tags, [администратор]},
{heartbeat, 60},
{frame_max, 131072},
{initial_frame_max, 4096},
{channel_max, 0},
{connection_max, infinity},
{tcp_listen_options, [{backlog, 128},
{nodelay, true},
{exit_on_close, false}]},
{vm_memory_high_watermark, 0.4},
{vm_memory_high_watermark, {absolute, 1073741824}},
{vm_memory_high_watermark, {absolute, "1024M"}},
{vm_memory_high_watermark_paging_ratio, 0.5},
{vm_memory_calculation_strategy, rss},
{memory_monitor_interval, 2500},
{total_memory_available_override_value, "5000 МБ"},
{disk_free_limit, 50000000},
{disk_free_limit, "50 МБ"},
{disk_free_limit, "50000 КБ"},
{disk_free_limit, "2 ГБ"},
{disk_free_limit, {mem_relative, 2.0}},
{queue_master_locator, <<"client-local">>},
{mirroring_sync_batch_size, 4096},
{mirroring_flow_control, true},
{server_properties, []},
{cluster_partition_handling, ignore},
{mirroring_sync_batch_size, 4096},
{узлы_кластера, {['[email protected]'], disk}},
{cluster_keepalive_interval, 10000},
{collect_statistics, none},
{collect_statistics_interval, 5000},
{trace_vhosts, []},
{hipe_compile, false},
{delegate_count, 16},
{mnesia_table_loading_retry_limit, 10},
{mnesia_table_loading_retry_timeout, 30000},
{queue_index_embed_msgs_below, 4096},
{queue_index_max_journal_entries, 32768},
{msg_store_credit_disc_bound, {4000, 800}},
{msg_store_io_batch_size, 4096},
{credit_flow_default_credit, {400, 200}},
{channel_operation_timeout, 15000},
{queue_explicit_gc_run_operation_threshold, 1000},
{lazy_queue_explicit_gc_run_operation_threshold, 1000},
{disk_monitor_failure_retries, 10},
{disk_monitor_failure_retry_interval, 120000},
{background_gc_enabled, false},
{background_gc_target_interval, 60000},
{msg_store_file_size_limit, 16777216},
{fhc_write_buffering, true},
{fhc_read_buffering, false}
]},
{kernel, [{net_ticktime, 60}]},
{rabbitmq_management, [ {load_definitions, "/path/to/exported/definitions.json"},
{http_log_dir, "/path/to/rabbitmq/logs/http"},
{listener, [{port, 12345},
{ip, "127.0.0.1"},
{ssl, true},
{ssl_opts, [{cacertfile, "/path/to/cacert.pem"},
{certfile, "/path/to/cert.pem"},
{keyfile, "/path/to/key.pem"}]}]},
{rates_mode, basic},
{sample_retention_policies,
[{global, [{60, 5}, {3600, 60}, {86400, 1200}]},
{basic, [{60, 5}, {3600, 60}]},
{подробно, [{10, 5}]}]} ]
},
{rabbitmq_shovel,
[{лопаты,
[{my_first_shovel,
[{источники, [{брокеры, ["amqp://user:[email protected]/my_vhost"]},{объявления, []}]}, {назначения, [{брокер, "amqp://"},{объявления, []}]},
{очередь, <<"ваше-имя-очереди-отправляется-сюда">>},
{prefetch_count, 10},
{ack_mode, on_confirm},
{publish_fields, [{exchange, <<"my_exchange">>},
{routing_key, <<"from_shovel">>}]},
{publish_properties, [{delivery_mode, 2}]},
{reconnect_delay, 2.5}
]}
]}
{defaults, [{prefetch_count, 0},
{ack_mode, on_confirm},
{publish_fields, []},
{publish_properties, [{delivery_mode, 2}]},
{reconnect_delay, 2.5}]}
]},
{rabbitmq_stomp,
[
{tcp_listeners, [{"127.0.0.1", 61613},
{"::1", 61613}]},
{ssl_listeners, [61614]},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{ssl_cert_login, true},
{default_user,
[{login, "guest"},
{passcode, "guest"}]},
{implicit_connect, true},
{proxy_protocol, false}
]
},
{rabbitmq_mqtt,
[
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{allow_anonymous, true},
{vhost, <<"/">>},
{exchange, <<"amq.topic">>},
{subscription_ttl, 1800000},
{prefetch, 10},
{tcp_listeners, [1883]},
{ssl_listeners, []},
{num_tcp_acceptors, 10},
{num_ssl_acceptors, 1},
{tcp_listen_options, [
{backlog, 128},
{linger, {true, 0}},
{exit_on_close, false}
]},
{proxy_protocol, false}
]},
{rabbitmq_amqp1_0,
[
{default_user, "guest"},
{protocol_strict_mode, false}
]},
{rabbitmq_auth_backend_ldap,
[
{servers, ["your-server-name-goes-here"]},
{use_ssl, false},
{port, 389},
{timeout, infinity},
{log, false},
{user_dn_pattern, "cn=${username},ou=People,dc=example,dc=com"},
{dn_lookup_attribute, "userPrincipalName"},
{dn_lookup_base, "DC=gopivotal,DC=com"},
{other_bind, as_user},
{vhost_access_query, {in_group,"ou=${vhost}- users,ou=vhosts,dc=example,dc=com"}}, {resource_access_query, {constant, true}},
{tag_queries, []}
]},
{lager, [
{log_root, "/var/log/rabbitmq"},
{обработчики, [
{lager_file_backend, [{file, "rabbit.log"},
{level, info},
{date, ""},
{size, 0}]}
]},
{extra_sinks, [ {rabbit_log_lager_event,[{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_channel_lager_event, [{handlers,[{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_conection_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_mirroring_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]}
]}
]}
].
'''
- Переименуйте файл RabbitMQ.config.example в
rabbitmq.conf
- Откройте командную строку RabbitMQ и выполните команду
rabbitmq-plugins
enable.rabbitmq_management
- Из меню «Выполнить» -> services.msc запустите службу RabbitMQ.
- Перезагрузите сервер.
- Однако после этого запись журнала прекращается, но не потому, что указанные выше изменения сработали, а потому, что RabbitMQ перестает работать.
Подтверждено, что RabbitMQ не работает, так как URL-адрес http://localhost:15672/
не запускается, хотя ранее при установке по умолчанию он запускался нормально, а теперь выдает ошибку прокси-сервера и брандмауэра.
- В одном из интернет-блогов предлагалось удалить из файла .conf то, что не требуется, поэтому я изменил файл следующим образом:
[
{lager, [
{log_root, "/var/log/rabbitmq"},
{обработчики, [
{lager_file_backend, [{file, "rabbit.log"},
{level, info},
{date, ""},
{size, 0}]}
]},
{extra_sinks, [ {rabbit_log_lager_event,[{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_channel_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_conection_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, info]}]}]},
{rabbit_mirroring_lager_event, [{handlers, [{lager_forwarder_backend,[lager_event, информация]}]}]}
]}
]}
].
После выполнения вышеописанных действий я выполнил команду RabbitMQ 'rabbitmq-plugins' enable 'rabbitmq_management' и перезапустил сервер и службу rabbitmq, страница входа в RabbitMQ по-прежнему отображается.http://localhost:15672/' не удалось открыть.
- В другом блоге предлагается сохранить файл .conf следующим образом:
[ {кролик, [{log_levels,[{connection, error}]}]} ].
После выполнения вышеописанных действий я выполнил команду RabbitMQ 'rabbitmq-plugins' enable 'rabbitmq_management' и перезапустил сервер и службу rabbitmq, страница входа в RabbitMQ по-прежнему отображается.http://localhost:15672/' не удалось открыть.
Я просмотрел несколько блогов и форумов, но так и не смог определить, где я ошибаюсь. Я глубоко подозреваю, что что-то пошло не так в тот момент, когда я переименовал свой файл конфигурации в '.conf', потому что тогда RabbitMQ перестал работать.
Я буду признателен, если вы сможете указать, где я ошибаюсь, или подскажете, как найти файл .conf.
решение1
Ранее я также натыкался на некоторые ссылки с просьбой добавить строки в файл .conf:
log.file.level = error
log.connection.level = error
log.channel.level = error
Но я не смог понять, где именно, в каком разделе файла .conf это будет находиться.
Я снова попробовал, очистив содержимое файла .conf и просто сохранив эти 3 строки в файле .conf:
log.file.level = error
log.connection.level = error
log.channel.level = error
И это сработало..
Вы можете установитьУровни журналав соответствии с вашими требованиями.
и можете ссылатьсяздесь&здесьдля большего.
Итак, файл RabbitMQ.conf был только по пути - \AppData\Roaming\RabbitMQ, единственное, что формат файла .conf был в устаревшем формате, который не работал. После исправления формата он заработал.