log_levels:控制日志记录的粒度。该值是日志事件类别和日志级别对的列表,该级别能够是“none”之一(不记录任何事件),“Error”(仅记录Error),“warning”(仅记录errors和warning),“info”(errors,warnings和informational 性消息被记录)或“debug”(errors,warnings,informational和Debug消息都会被记录)。目前有四类定义。其余,目前未分类的事件始终被记录。 类别是:node
channel -全部与AMQP频道有关的活动.web
connection -用于全部与网络链接相关的事件数据库
federation -对于与federation有关的全部事件后端
mirroring -用于全部与镜像队列相关的事件。缓存
默认值:[{connection,info}]安全
12.framemax:与客户端协商的帧的最大容许大小(以字节为单位),设置为0表示“无限制”,但会在一些QPid客户端中触发错误.设置较大的值能够提升吞吐量;设置较小的值可能会提升延迟,默认值: 131072 13.channelmax:与客户协商的最大容许通道数,设置为0表示“无限制”。使用更多的通道会增长代理的内存占用。默认:0服务器
14.channeloperationtimeout:通道运行超时(以毫秒为单位)(内部使用,因为消息传递协议的差别和限制,不会直接暴露给客户端),默认:15000网络
15.heartbeat:表明心跳延迟的值.在几秒钟内,服务器在connection.tune帧中发送.若是设置为0,则将禁用心跳.客户可能不遵循服务器建议,有关详细信息,请参阅AMQP参考.在大量链接的状况下,禁用心跳可能会提升性能,可是可能致使在存在关闭非活动链接的网络设备的状况下链接丢失。默认值:60(版本3.5.5以前的580)dom
16.default_vhost:当RabbitMQ从头建立新数据库时,建立虚拟主机。交换机amq.rabbitmq.log将存在于此虚拟主机中。 默认值:<<“/”>>tcp
17.default_user:RabbitMQ从头建立新数据库时要建立的用户名。 默认值:<<“guest”>>
18.default_pass:默认用户的密码。 默认值:<<“guest”>>
19.defaultusertags:默认用户的标签。 默认:[administrator]
20.default_permissions:建立时分配给默认用户的权限。 默认: [<<“.”>>,<<“.”>>,<<“.*”>>]
21.loopback_users:仅容许经过环回接口(即本地主机)链接到代理的用户列表.若是您但愿容许默认访客用户远程链接,则须要将其更改成[]。 默认值:[<<“guest”>>]
22.cluster_nodes:设置此选项可使节点在第一次启动时自动发生。元组的第一个元素是节点将尝试汇集到的节点。第二个元素是disc或ram,并肯定节点类型。Default: {[], disc}
23.server_properties:关于链接的客户端通知的键值对列表。Default: []
24.collect_statistics:统计收集模式。主要与管理插件相关。 可选项是:
none (do not emit statistics events)
coarse (emit per-queue/per-channel/per-connection statistics)
fine (also emit per-message statistics)
Default: none
25.collectstatisticsinterval:统计信息收集间隔(以毫秒为单位)。主要与管理插件相关。 默认值:5000
26.managementdbcache_multiplier:影响管理插件将缓存昂贵的管理查询(如队列列表)的时间量.高速缓存会将上次查询的通过时间乘以此值,并将结果缓存一段时间。 默认值:5
27.auth_mechanisms:SASL认证机制,以提供给客户。 默认值:[ 'PLAIN', 'AMQPLAIN']
28.auth_backends:使用身份验证和受权后端列表。 其余数据库比rabbit_auth_backend_internal能够经过插件。 默认值:[rabbit_auth_backend_internal]
29.reversednslookups:设置为true以使RabbitMQ在客户端链接上执行反向DNS查找,并经过rabbitmqctl和管理插件来呈现该信息。 默认值:false
30.delegate_count:用于集群内通讯的表明进程数。在具备很是大数量的核心而且也是集群的一部分的机器上,您可能但愿增长此值。默认值:16
31.trace_vhosts:用于tracer内部使用。你不该该改变这个。 默认值:[]
32.tcplistenoptions:默认套接字选项。你可能不想改变这个。 Default: [{backlog, 128}, {nodelay, true}, {linger, {true,0}}, {exitonclose, false}]
33.hipe_compile:设置为true.为了预编译RabbitMQ部分与HiPE,一个即时编译器为Erlang。这将以增长启动时间为代价增长服务器吞吐量。您可能会在启动时花费几分钟的时间来得到20-50%的性能.这些数字高度依赖于工做负载和硬件.HiPE支持可能不会被编译到Erlang安装中。若是没有,则启用此选项将仅显示警告消息,正常状况下将启动启动。例如,Debian / Ubuntu用户须要安装erlang-base-hipe软件包. 在某些平台上,HiPE彻底不可用,特别是Windows.HiPE在17.5以前的Erlang / OTP版本中已经出现了问题。对于HiPE,强烈推荐使用最近的Erlang / OTP版本。默认值:false
34.cluster_partition_handling:如何处理网络分区。可用模式有:
ignore
pause_minority
{pause_if_all_down,[nodes],ignore | autoheal}其中[nodes]是节点名称列表 (例如:['rabbit @ node1','rabbit @ node2'])
autoheal 默认值: ignore
35.clusterkeepaliveinterval:节点应该如何频繁地向其余节点发送keepalive消息(以毫秒为单位)。请注意,这与net_ticktime不同;错过的keepalive消息不会致使节点被忽略。 默认值:10000
36.queueindexembedmsgsbelow:消息大小以字节为单位,消息将直接嵌入在队列索引中。建议您在更改以前阅读维护者调整文档。默认:Default: 4096
37.msgstoreindex_module:队列索引实现模块。建议您在更改以前阅读维护者调整文档。 默认值:rabbit_msg_store_ets_index
38.backing_queue_module:队列内容的实现模块。你可能不想改变这个。 默认值:rabbit_variable_queue
39.msg_store_file_size_limit:持久的可调整值。你几乎确定不该该改变这个。 默认值:16777216
40.mnesia_table_loading_retry_limit:在等待群集中的Mnesia表可用时重试的次数。 默认值:10
41.queue_index_max_journal_entries:持久的可调整值。你几乎确定不该该改变这个。 默认值:65536
42.queue_master_locator:队列主位置策略。可用的策略是:
<<"min-masters">>
<<"client-local">>
<<"random">>
有关详细信息,请参阅队列主位置的文档。 默认值:<<“client-local”>>
43.lazy_queue_explicit_ gc_run_operation_threshold:在内存压力下,可调整的值仅适用于惰性队列.这是触发垃圾回收器和其余内存减小活动的阈值.低价值能够下降性能,并且能够提升性能,但会致使更高的内存消耗。你几乎确定不该该改变这个。 默认值:1000
44.queue_explicit_ gc_run_operation_threshold:在内存压力下,仅适用于正常队列的可调参数值,这是触发垃圾收集器和其余内存减小活动的阈值。低价值能够下降性能,并且能够提升性能,但会致使更高的内存消耗。你几乎确定不该该改变这个。 默认值:1000
此外,许多插件能够在配置文件中具备部分,名称为rabbitmq_plugin。咱们的维护插件记录在如下位置
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
rabbitmq_stomp
rabbitmq_shovel
rabbitmq_auth_backend_ldap
配置条目加密
能够在RabbitMQ配置文件中加密敏感配置条目(例如密码,包含URL的凭据)。代理在开始时解密加密的条目.请注意,加密配置条目不会使系统有意义地更安全。然而,它们容许RabbitMQ的部署符合各国的规定,要求在配置文件中不该以纯文本形式显示敏感数据。
加密值必须在Erlang加密元组内:{encrypted,...}。如下是默认用户加密密码的配置
[ {rabbit, [ {default_user, <<"guest">>}, {default_pass, {encrypted, <<"cPAymwqmMnbPXXRVqVzpxJdrS8mHEKuo2V+3vt1u/fymexD9oztQ2G/oJ4PAaSb2c5N/hRJ2aqP/X0VAfx8xOQ==">> } }, {config_entry_decoder, [ {passphrase, <<"mypassphrase">>} ]} ]} ].
注意configentrydecoder密钥与RabbitMQ用于解密加密值的密码。密码短语不须要在配置文件中进行硬编码,它能够在一个单独的文件中。
[ {rabbit, [ ... {config_entry_decoder, [ {passphrase, {file, "/path/to/passphrase/file"}} ]} ]} ].
当使用{passphrase,prompt}启动时,RabbitMQ也能够要求操做者输入密码
使用rabbitmqctl和encode命令加密值
rabbitmqctl encode '<<"guest">>' mypassphrase {encrypted,<<"... long encrypted value...">>} rabbitmqctl encode '"amqp://fred:secret@host1.domain/my_vhost"' mypassphrase {encrypted,<<"... long encrypted value...">>}
若是要解密值,请添加--decode选项
rabbitmqctl encode --decode '{encrypted, <<"...">>}' mypassphrase <<"guest">> rabbitmqctl encode --decode '{encrypted, <<"...">>}' mypassphrase "amqp://fred:secret@host1.domain/my_vhost"
能够对不一样类型的值进行编码。上面的例子编码了二进制文件(<<“guest”>>)和字符串(“amqp:// fred:secret@host1.domain/my_vhost”)。
加密机制使用PBKDF2从密码短语中产生派生密钥。默认散列函数为SHA512,默认迭代次数为1000.默认密码为AES 256 CBC
您能够在配置文件中更改这些默认值:
[ {rabbit, [ ... {config_entry_decoder, [ {passphrase, "mypassphrase"}, {cipher, blowfish_cfb64}, {hash, sha256}, {iterations, 10000} ]} ]} ].
在命令行:
rabbitmqctl encode --cipher blowfish_cfb64 --hash sha256 --iterations 10000 \ '<<"guest">>' mypassphrase