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