服務(wù)器狀態(tài)
服務(wù)器狀態(tài)查詢查詢服務(wù)器返回一個(gè)結(jié)果以制表符分隔的列表. 某些查詢(list_queues, list_exchanges, list_bindings, 和 list_consumers) 接受一個(gè)可選的vhost 參數(shù). 如果這個(gè)參數(shù)出現(xiàn)了,那么它必須指定在查詢的后面.
list_queues, list_exchanges and list_bindings 命令接受一個(gè)可選的虛擬主機(jī)參數(shù)以顯示其結(jié)果.默認(rèn)值為"/".
list_queues [-p vhost] [queueinfoitem ...]
返回隊(duì)列的詳細(xì)信息. 如果無-p標(biāo)志,將顯示/虛擬主機(jī)上的隊(duì)列詳情."-p" 標(biāo)志可用來覆蓋此默認(rèn)值.
queueinfoitem 參數(shù)用于指示哪些隊(duì)列信息項(xiàng)會(huì)包含在結(jié)果集中.結(jié)果集的列順序?qū)⑵ヅ鋮?shù)的順序.queueinfoitem 可以是下面列表中的任何值:
- name
非ASCII字符的隊(duì)列名稱.
- durable
服務(wù)器重啟后,隊(duì)列是否能幸存.
- auto_delete
不再使用時(shí),是否需要自動(dòng)刪除隊(duì)列.
- arguments
隊(duì)列參數(shù).
- policy
應(yīng)用到隊(duì)列上的策略名稱.
- pid
關(guān)聯(lián)隊(duì)列的Erlang進(jìn)程ID.
- owner_pid
表示隊(duì)列專用所有者的代表連接的Erlang進(jìn)程ID.如果隊(duì)列是非專用的,此值將為空.
- exclusive
True:如果隊(duì)列是專用的(即有owner_pid), 反之false
- exclusive_consumer_pid
表示此channel的專用消費(fèi)者訂閱到此隊(duì)列的Erlang進(jìn)程Id. 如果沒有專用消費(fèi)者,則為空.
- exclusive_consumer_tag
專用消費(fèi)者訂閱到此隊(duì)列的Consumer tag.如果沒有專用消費(fèi)者,則為空.
- messages_ready
準(zhǔn)備分發(fā)給客戶端的消息數(shù)目.
- messages_unacknowledged
分發(fā)到客戶端但尚未應(yīng)答的消息數(shù)目.
- messages
準(zhǔn)備分發(fā)和未應(yīng)答消息的總和(隊(duì)列深度).
- messages_ready_ram
駐留在ram中messages_ready的消息數(shù)目.
- messages_unacknowledged_ram
駐留在ram中messages_unacknowledged的消息數(shù)目.
- messages_ram
駐留在ram中的消息總數(shù).
- messages_persistent
隊(duì)列中持久化消息的數(shù)目(對(duì)于瞬時(shí)隊(duì)列總是0).
- message_bytes
隊(duì)列中所有消息體的大小總和.這不包括消息屬性(包括headers) 或任何開銷(overhead)。
- message_bytes_ready
類似于message_bytes ,但只統(tǒng)計(jì)準(zhǔn)備投遞給clients的那些消息.
- message_bytes_unacknowledged
類似于message_bytes ,但只統(tǒng)計(jì)那些已經(jīng)投遞給clients但還未應(yīng)答的消息
- message_bytes_ram
類似于message_bytes ,但只統(tǒng)計(jì)那些在RAM中的消息
- message_bytes_persistent
類似于message_bytes ,但只統(tǒng)計(jì)那些持久化的消息
- head_message_timestamp
如果存在,只顯示隊(duì)列中第1個(gè)消息的timestamp屬性. 消息的時(shí)間戳只出現(xiàn)在分頁情況下.
- disk_reads
從隊(duì)列啟動(dòng)開如,已從磁盤上讀取該隊(duì)列的消息總次數(shù).
- disk_writes
從隊(duì)列啟動(dòng)開始,已向磁盤隊(duì)列寫消息總次數(shù).
- consumers
消費(fèi)者數(shù)目.
- consumer_utilisation
時(shí)間分?jǐn)?shù)(0.0與1.0之間),隊(duì)列可立即向消費(fèi)者投遞消息. 它可以小于1.0,如果消費(fèi)者受限于網(wǎng)絡(luò)堵塞或預(yù)提取數(shù)量.
- memory
與隊(duì)列相關(guān)的Erlang進(jìn)程消耗的內(nèi)存字節(jié)數(shù),包括棧,堆以及內(nèi)部結(jié)構(gòu).
- slave_pids
如果隊(duì)列是鏡像的,這里給出的是當(dāng)前slaves的IDs.
- synchronised_slave_pids
如果隊(duì)列是鏡像的,當(dāng)前slaves的IDs是master同步的- 即它們可在無消息丟失的情況下,接管master.
- state
隊(duì)列狀態(tài).正常情況下是'running', 但如果隊(duì)列正在同步也可能是"{syncing, MsgCount}". 處于集群下的節(jié)點(diǎn)如果掉線了,隊(duì)列狀態(tài)交顯示'down' (大多數(shù)queueinfoitems 將不可用).
如果沒有指定queueinfoitems,那么將顯示隊(duì)列名稱和隊(duì)列深度.
例如:
rabbitmqctl list_queues -p /myvhost messages consumers
此命令顯示了/myvhost虛擬主機(jī)中每個(gè)隊(duì)列的深度和消費(fèi)者數(shù)目.
list_exchanges [-p vhost] [exchangeinfoitem ...]
返回交換器細(xì)節(jié).如果沒有指定"-p"選項(xiàng),將返回 / 虛擬主機(jī)的細(xì)節(jié). "-p" 選項(xiàng)可用來覆蓋默認(rèn)虛擬主機(jī).
exchangeinfoitem 參數(shù)用來表示哪些交換器信息要包含在結(jié)果中. 結(jié)果集中列的順序?qū)⑴c參數(shù)順序保持一致. exchangeinfoitem 可接受下面的列表中任何值:
- name
交換器名稱.
- type
交換器類型(如[direct, topic, headers, fanout]).
- durable
當(dāng)服務(wù)器重啟時(shí),交換器是否能復(fù)活.
- auto_delete
當(dāng)不再使用時(shí),交換器是否需要自動(dòng)刪除.
- internal
交換器是否是內(nèi)部的,即不能由client直接發(fā)布.
- arguments
交換器參數(shù)
- policy
- 應(yīng)用到交換器上的策略名稱.
如果沒有指定exchangeinfoitems,那么將會(huì)顯示交換器類型和類型
例如:
rabbitmqctl list_exchanges -p /myvhost name type
此命令會(huì)顯示/myvhost中每個(gè)交換器的名稱和類型.
list_bindings [-p vhost] [bindinginfoitem ...]
返回綁定細(xì)節(jié).默認(rèn)情況下返回的是 / 虛擬主機(jī)上的綁定詳情.可使用"-p" 標(biāo)記來覆蓋默認(rèn)虛擬主機(jī).
bindinginfoitem 參數(shù)用來表示結(jié)果中包含哪些綁定信息. 結(jié)果集中列的順序?qū)⑵ヅ鋮?shù)的順序.bindinginfoitem可接受下面列表的任意值:
- source_name
綁定中消息來源的名稱. C中非ASCII轉(zhuǎn)義字符.
- source_kind
綁定中消息來源的類別.當(dāng)前總是exchange. C中非ASCII轉(zhuǎn)義字符.
- destination_name
綁定中消息目的地名稱.C中非ASCII轉(zhuǎn)義字符.
- destination_kind
綁定中消息目的地的種類. C中非ASCII轉(zhuǎn)義字符.
- routing_key
綁定的路由鍵,C中非ASCII轉(zhuǎn)義字符.
- arguments
綁定參數(shù).
如果沒有指定bindinginfoitems,將會(huì)顯示所有上述條目.
例如:
rabbitmqctl list_bindings -p /myvhost exchange_name queue_name
此命令來顯示/myvhost虛擬主機(jī)上綁定的交換器名稱和隊(duì)列名稱.
list_connections [connectioninfoitem ...]
返回TCP/IP連接統(tǒng)計(jì).
connectioninfoitem 參數(shù)用來表示在結(jié)果中包含哪些連接信息. 結(jié)果集中列的順序?qū)⑵ヅ鋮?shù)的順序. connectioninfoitem可接受下面列表的任意值:
- pid
與連接相關(guān)的Erlang進(jìn)程ID.
- name
連接的可讀名稱.
- port
服務(wù)器端口.
- host
返回反向DNS獲取的服務(wù)器主機(jī)名稱,或 IP地址(反向DNS解析失敗) 或者未啟用.
- peer_port
Peer 端口.
- peer_host
- 返回反向DNS獲取的Peer主機(jī)名稱,或 IP地址(反向DNS解析失敗) 或者未啟用.
- ssl
用Boolean來表示連接是否是SSL的.
- ssl_protocol
SSL 協(xié)議(如. tlsv1)
- ssl_key_exchange
SSL key exchange 算法 (如 rsa)
- ssl_cipher
SSL cipher 算法 (如aes_256_cbc)
- ssl_hash
SSL hash 函數(shù) (如 sha)
- peer_cert_subject
peer的 SSL 安全證書的主體, RFC4514形式.
- peer_cert_issuer
peer的 SSL安全證書的發(fā)行者, RFC4514 形式.
- peer_cert_validity
peer的SSL安全證書的有效期.
- state
連接狀態(tài)(可為[starting, tuning, opening, running, flow, blocking, blocked, closing, closed]其中一個(gè)).
- channels
使用連接的channel數(shù)。
- protocol
使用的AMQP協(xié)議版本(當(dāng)前是{0,9,1} 或{0,8,0}). 注意,如果client請(qǐng)求的是AMQP 0-9 連接, 我們會(huì)視為AMQP 0-9-1.
- auth_mechanism
使用的SASL認(rèn)證機(jī)制,如PLAIN.
- user
與連接相關(guān)的用戶名
- vhost
虛擬主機(jī)名稱,C中非ASCII轉(zhuǎn)義字符.
- timeout
連接超時(shí)/協(xié)商的心跳間隔,秒為單位.
- frame_max
最大 frame 大小(字節(jié)).
- channel_max
- 此連接上channel的最大數(shù)目.
- client_properties
連接建立期間由client發(fā)送的信息屬性.
- recv_oct
Octets已收到.
- recv_cnt
Packets 已收到.
- send_oct
Octets 發(fā)送.
- send_cnt
Packets 發(fā)送.
- send_pend
發(fā)送隊(duì)列大小.
- connected_at
連接建立的日期和時(shí)間,當(dāng)作timestamp.
如果沒有connectioninfoitems, 那么會(huì)顯示user, peer host, peer port,流量控制和內(nèi)存塊狀態(tài)的時(shí)間
例如:
rabbitmqctl list_connections send_pend port
此命令會(huì)顯示發(fā)送隊(duì)列的大小以及第個(gè)連接的服務(wù)器端口.
list_channels [channelinfoitem ...]
返回所有當(dāng)前channel上的信息,邏輯容器執(zhí)行大部分 AMQP命令.這將包含最初AMQP連接的部分,以及不同插件和其它擴(kuò)展創(chuàng)建的channels.
channelinfoitem 參數(shù)用來表示在結(jié)果集中包含哪些channel信息.結(jié)果集中列的順序?qū)⑵ヅ鋮?shù)的順序. channelinfoitem 可接受下面列表中的任何一個(gè)參數(shù):
- pid
與連接相關(guān)的Erlang進(jìn)程ID.
- connection
channel所屬的連接Erlang進(jìn)程ID.
- name
channel的可讀名稱.
- number
channel的數(shù)目,在一個(gè)連接中,它有唯一的標(biāo)識(shí)符.
- user
與channel相關(guān)的用戶名稱.
- vhost
channel操作的虛擬主機(jī).
- transactional
True:如果channel處于事務(wù)模式,其它情況為false.
- confirm
True:如果channel是確認(rèn)模式,其它情況為false.
- consumer_count
在channel中接收消息的邏輯AMQP消費(fèi)者數(shù)目.
- messages_unacknowledged
在channel中消息已投遞但還未應(yīng)答的消息數(shù)目.
- messages_uncommitted
在channel中已收到消息但還沒有提交事務(wù)的消息個(gè)數(shù).
- acks_uncommitted
確認(rèn)收到一個(gè)還未提交的事務(wù)數(shù)。
- messages_unconfirmed
尚未確認(rèn)已發(fā)布消息的數(shù)目。在通道不在確認(rèn)模式下時(shí),這將是0。
- prefetch_count
新消費(fèi)者QoS預(yù)提取限制, 0表示無上限.
- global_prefetch_count
整個(gè)channel QoS預(yù)提取限制, 0表示無上限.
如果沒有指定channelinfoitems,那么將顯示pid, user, consumer_count,messages_unacknowledged.
例如:
rabbitmqctl list_channels connection messages_unacknowledged
此命令會(huì)顯示每個(gè)channel中連接進(jìn)程和未應(yīng)答消息的數(shù)目.
list_consumers [-p vhost]
列舉消費(fèi)者, 即訂閱隊(duì)列的消息流. 每行將打印出由制表符分隔的已訂閱隊(duì)列的名稱,創(chuàng)建并管理訂閱的channel進(jìn)程的標(biāo)識(shí),channel中訂閱的consumer tag唯一標(biāo)識(shí)符, boolean值表示投遞到此消費(fèi)者的消息是否需要應(yīng)答,整數(shù)值表示表示預(yù)提取限制(為0表示無限制), 以及關(guān)于此消費(fèi)者的任何其它參數(shù).
status
顯示 broker 狀態(tài)信息,如當(dāng)前Erlang節(jié)點(diǎn)上運(yùn)行的應(yīng)用程序, RabbitMQ 和 Erlang 的版本信息, OS 名稱, 內(nèi)存和文件描述符統(tǒng)計(jì)信息. (查看cluster_status 命令來找出那些節(jié)點(diǎn)是集群化的以及正在運(yùn)行的.)
例如:
rabbitmqctl status
此命令顯示了RabbitMQ broker的相關(guān)信息.
environment
顯示每個(gè)運(yùn)行程序環(huán)境中每個(gè)變量的名稱和值.
report
為所有服務(wù)器狀態(tài)生成一個(gè)服務(wù)器狀態(tài)報(bào)告,輸出應(yīng)該重定向到一個(gè)文件.
例如:
rabbitmqctl report > server_report.txt
此命令創(chuàng)建了一個(gè)服務(wù)器報(bào)告,可將它附著在支持請(qǐng)求的電子郵件中.
eval {expr}
執(zhí)行任意Erlang表達(dá)式.
例如:
rabbitmqctl eval 'node().'
此命令用于返回rabbitmqctl連接的節(jié)點(diǎn)名稱