运行RabbitMQ的CentOS无法创建跟踪文件并远程登录其他vhost

时间:2016-01-26 06:24:46

标签: linux rabbitmq

我们在CentOS服务器上安装并运行RabbitMQ。虽然可以在访客用户许可的vhost中远程管理控制台上的管理控制台使用Firehose跟踪器创建跟踪文件,但无法在未经许可的其他虚拟主机中远程创建相同的日志文件来宾用户。

例如,在下图中,我们只是在测试vhost上创建testLogTracer,但它无法在test2 vhost上创建相同的日志文件testLogTracer2。两个vhost之间的唯一区别是guest用户拥有测试vhost的权限。

enter image description here

更新

在创建跟踪文件时添加到文件rabbit@server79.log的最新服务器错误如下所示:

=ERROR REPORT==== 26-Jan-2016::13:13:19 ===
webmachine error: path="/api/traces/hafizTest/newTraceFile"
"Bad Request"

也是用户" moha"拥有用户"访客"等完全权限在vhost" test"和" test2"。两个虚拟主机的权限如下图所示。

user permission over vhost "test" user permission over vhost "test2"

3 个答案:

答案 0 :(得分:4)

我在githubRabbitMQ-users小组中提出了我的问题,并感谢Micheal Klishin回答了我的问题。

在RabbitMq 3.6.0之前,唯一可以远程通过虚拟主机创建跟踪文件的用户是来宾用户。幸运的是,在最新版本(例如3.6.0)中,其他用户可以通过将<script type="text/javascript"> var itm_cnt = 1; $(document).ready(function () { $(document).on("click", ".btnPlus", function () { var new_clone = $('#tritem').clone(); itm_cnt = itm_cnt + 1; var new_name = "trans_id_" + itm_cnt.toString(); $(new_clone).attr("name", "new_name"); $('#transitem').append(new_clone); window.alert(itm_cnt); }); }); rabbitmq_tracing.username添加到rabbitmq.config文件来在虚拟主机上创建跟踪文件。

此文件在安装时间不可用,您应自行将其添加到目录rabbitmq_tracing.password中。可以简单地将下面的行添加到配置文件中,以便更改通过RabbitMQ创建跟踪文件的默认用户(例如guest)。

/etc/rabbitmq

答案 1 :(得分:2)

这似乎是一个许可问题。

请阅读这篇文章:https://groups.google.com/d/msg/rabbitmq-users/uA9qmADgpSo/Cib3fEFwDgAJ

  

请检查虚拟主机的权限,此错误可以   如果您没有正确的权限,就会发生这种情况。

     

这是例子:

=INFO REPORT==== 4-Jan-2016::15:49:38 ===
Adding vhost 'myvhost'

=INFO REPORT==== 4-Jan-2016::15:49:57 ===
Enabling tracing for vhost 'myvhost'

=ERROR REPORT==== 4-Jan-2016::15:49:57 ===
webmachine error: path="/api/traces/myvhost/myvhostlog"
"Bad Request"

=INFO REPORT==== 4-Jan-2016::15:50:04 ===
Setting permissions for 'guest' in 'myvhost' to '.*', '.*', '.*'

=INFO REPORT==== 4-Jan-2016::15:50:08 ===
Disabling tracing for vhost 'myvhost'

=INFO REPORT==== 4-Jan-2016::15:50:18 ===
Enabling tracing for vhost 'myvhost'

=INFO REPORT==== 4-Jan-2016::15:50:18 ===
Tracer opened log file "/var/tmp/rabbitmq-tracing/myvhostlog.log"

-
Gabriele

答案 2 :(得分:0)

不直接回复,而是添加类似的问题错误消息,以使人们更容易搜索错误消息。遗憾的是,它太大了,无法发表评论,并且不想将其直接添加到问题中,因为它不是原始的张贴者错误消息

2018-07-10 20:37:34 =SUPERVISOR REPORT====
     Supervisor: {<0.11027.6>,rabbit_tracing_consumer_sup}
     Context:    start_error
     Reason:     {{badmatch,{error,not_allowed}},[{rabbit_tracing_consumer,init,1,[{file,"src/rabbit_tracing_consumer.erl"},{line,58}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
     Offender:   [{pid,undefined},{name,consumer},{mfargs,{rabbit_tracing_consumer,start_link,[[{vhost,<<"my_vhost">>},{name,<<"my_log_file">>},{format,<<"text">>},{pattern,<<"#">>},{<<"format">>,<<"text">>},{<<"name">>,<<"my_log_file">>},{<<"pattern">>,<<"#">>},{<<"vhost">>,<<"my_vhost">>}]]}},{restart_type,transient},{shutdown,30000},{child_type,worker}

关键部分是not_allowed,指向权限问题,在这种情况下,访客对该虚拟主机缺少权限