Menu Search

SYNOPSIS

qdstat [OPTIONS]

DESCRIPTION

An AMQP monitoring tool that shows status information about networks of Dispatch routers. It can display connections, network nodes and links, policy, and router stats such as memory use.

OPTIONS

-h, --help : show this help message and exit

--version : show program’s version number and exit

-v, --verbose : Show maximum detail

--limit LIMIT : Limit number of output rows. Unlimited if limit is zero or if limit not specified

--csv : Render tabular output in csv format

-g, --general : Show General Router Stats

-c, --connections : Show Connections

-l, --links : Show Router Links

-n, --nodes : Show Router Nodes

-e, --edge : Show edge connections

-a, --address : Show Router Addresses

-m, --memory : Show Router Memory Stats

-p, --policy : Show Router Policy

--autolinks : Show Auto Links

--linkroutes : Show Link Routes

--vhosts : Show Vhosts

--vhostgroups : Show Vhost Groups

--vhoststats : Show Vhost Stats

--log : Show recent log entries

--all-entities : Show all router entities. Can be combined with --all-routers option

--all-routers : Show entities for all routers in network. Can also be used in combination with other options

-r ROUTER-ID, --router ROUTER-ID : Router to be queried

-d EDGE-ROUTER-ID, --edge-router EDGE-ROUTER-ID : Edge Router to be queried

-b URL, --bus URL : URL of the messaging bus to connect to default 0.0.0.0

-t SECS, --timeout SECS : Maximum time to wait for connection in seconds default 5

--ssl-certificate CERT : Client SSL certificate (PEM Format)

--ssl-key KEY : Client SSL private key (PEM Format)

--ssl-trustfile TRUSTED-CA-DB : Trusted Certificate Authority Database file (PEM Format)

--ssl-password PASSWORD : Certificate password, will be prompted if not specifed.

--ssl-password-file SSL-PASSWORD-FILE : Certificate password, will be prompted if not specifed.

--sasl-mechanisms SASL-MECHANISMS : Allowed sasl mechanisms to be supplied during the sasl handshake.

--sasl-username SASL-USERNAME : User name for SASL plain authentication

--sasl-password SASL-PASSWORD : Password for SASL plain authentication

--sasl-password-file SASL-PASSWORD-FILE : Password for SASL plain authentication

--ssl-disable-peer-name-verify : Disables SSL peer name verification. WARNING - This option is insecure and must not be used in production environments

OUTPUT COLUMNS

qdstat -g

Version

The version of Dispatch Router.

Mode

The router’s operating mode:

  • standalone - The router operates as a single, standalone network node.

  • interior - The router operates in cooperation with other interior routers in an interconnected network.

  • edge - The router operates at the edge of the router network. It maintains an uplink connection to an interior router.

Router Id

The router’s ID.

Uptime

Time this router has been up. Displayed in the days:hours:minutes:seconds format.

Link Routes

The number of active and inactive link routes configured for this router.

Auto Links

The number of incoming and outgoing auto links configured for this router.

Links

The number of incoming and outgoing links attached to the router.

Nodes

The number of peer routers connected to this router.

Addresses

The number of addresses with links attached to this router.

Connections

The number of connections to the router. This includes connections from and to any AMQP route container.

Presettled Count

The number of presettled deliveries forwarded by this router.

Dropped Presettled Count

The number of presettled deliveries that this router dropped due to congestion.

Accepted Count

The number of deliveries forwarded by this router that were accepted.

Rejected Count

The number of deliveries forwarded by this router that were rejected.

Released Count

The number of deliveries forwarded by this router that were released.

Modified Count

The number of deliveries forwarded by this router that were modified.

Deliveries Delayed > 1sec

The number of deliveries forwarded by this router that were unsettled for more than one second.

Deliveries Delayed > 10sec

The number of deliveries forwarded by this router that were unsettled for more than ten seconds.

Deliveries Stuck > 10sec

The number of deliveries forwarded by this router that were stuck for more than ten seconds.

Deliveries to Fallback

The number of deliveries that were forwarded to a fallback destination.

Links Blocked

The number of links that are blocked. A blocked link is one in which the available credit has remained zero for more than 10 seconds.

Ingress Count

The number of messages sent to this router.

Egress Count

The number of messages sent from this router.

Transit Count

The number of deliveries sent to another router in the network.

Deliveries from Route Container

The number of deliveries this router has received from AMQP route containers.

Deliveries to Route Container

The number of deliveries this router has sent to AMQP route containers.

qdstat -c

id

The connection’s unique identifier.

host

The hostname or internet address of the remotely-connected AMQP container.

container

The container name of the remotely-connected AMQP container.

role

The connection’s role:

  • normal - The normal connection from a client to a router.

  • inter-router - The connection between routers to form a network.

  • route-container - The connection to or from a broker or other host to receive link routes and waypoints.

  • edge - The connection between an edge router and an interior router.

dir

The direction in which the connection was established:

  • in - The connection was initiated by the remote container.

  • out - The connection was initiated by this router.

security

The security or encryption method, if any, used for this connection.

authentication

The authentication method and user ID of the connection’s authenticated user.

tenant

If the connection is to a listener using multi-tenancy, this column displays the tenant namespace for the connection.

last dlv

Time since the last delivery arrived on this connection. Displayed in the days:hours:minutes:seconds format.

uptime

Time this connection has been up. Displayed in the days:hours:minutes:seconds format.

qdstat -l

type

The type of link:

  • router-control - An inter-router link that is reserved for control messages exchanged between routers.

  • inter-router - An inter-router link that is used for normal message-routed deliveries.

  • endpoint - A normal link to an external endpoint container.

dir

The direction that messages flow on the link:

  • in - Deliveries flow inbound to the router.

  • out - Deliveries flow outbound from the router.

conn id

The unique identifier of the connection over which this link is attached.

id

The unique identifier of this link.

peer

For link-routed links, the unique identifier of the peer link. In link routing, an inbound link is paired with an outbound link.

class

The class of the address bound to the link:

  • local - The address that is local to this router (temporary).

  • topo - A topological address used for router control messages.

  • router - A summary router address used to route messages to a remote router’s local addresses.

  • mobile - A mobile address for an attached consumer or producer.

  • link-in - The address match for incoming routed links.

  • link-out - The address match for outgoing routed links.

addr

The address bound to the link.

phs

The phase of the address bound to the link.

cap

The capacity, in deliveries, of the link.

pri

The priority of the link. Priority influences the order in which links are processed within a connection. Higher numbers represent higher priorities.

undel

The number of undelivered messages stored on the link’s FIFO.

unsett

The number of unsettled deliveries being tracked by the link.

deliv

The total number of deliveries that have transited this link.

presett

The number of pre-settled deliveries that transited this link.

psdrop

The number of pre-settled deliveries that were dropped due to congestion.

acc

The number of deliveries on this link that were accepted.

rej

The number of deliveries on this link that were rejected.

rel

The number of deliveries on this link that were released.

mod

The number of deliveries on this link that were modified.

delay

The number of settled deliveries on this link that were unsettled for more than one second.

rate

The average rate (over a period of five seconds) at which deliveries have been settled on this link.

stuck

The number of deliveries on this link that are flagged as "stuck". A delivery is considered stuck if it has been either undelivered or unsettled for more than 10 seconds.

cred

The number of flow credits currently available on this link.

blkd

The time elapsed since the available credit for this link became zero and has remained zero.

admin

The administrative status of the link (with -v option only):

  • enabled - The link is enabled for normal operation.

  • disabled - The link is disabled and should be quiescing or stopped (not yet supported).

oper

The operational status of the link (with -v option only):

  • up - The link is operational.

  • down - The link is not attached.

  • quiescing - The link is in the process of quiescing (not yet supported).

  • idle - The link has completed quiescing and is idle (not yet supported).

name

The link name (only shown if the -v option is provided).

qdstat -n

router-id

The router’s ID.

next-hop

If this router is not a neighbor, this field identifies the next-hop neighbor used to reach this router.

link

The ID of the link to the neighbor router.

cost

The topology cost to this remote router (with -v option only).

neighbors

The list of neighbor routers (the router’s link-state). This field is available only if you specify the -v option.

valid-origins

The list of origin routers for which the best path to the listed router passes through this router (available only with the -v option).

qdstat -e

id

The connection’s unique identifier.

host

The hostname or internet address of the remotely-connected edge router.

container

The container name of the remotely-connected edge router.

dir

The direction in which the connection was established:

  • in - The connection was initiated by the edge router.

  • out - The connection was initiated by this router.

security

The security or encryption method, if any, used for this connection.

authentication

The authentication method and user ID of the connection’s authenticated user.

tenant

If the connection is to a listener using multi-tenancy, this column displays the tenant namespace for the connection.

qdstat -a

class

The class of the address:

  • local - The address that is local to this router.

  • topo - The topological address used for router control messages.

  • router - A summary router address used to route messages to a remote router’s local addresses.

  • mobile - A mobile address for an attached consumer or producer.

addr

The address text.

phs

For mobile addresses only, the phase of the address. Direct addresses have only a phase 0. Waypoint addresses have multiple phases, normally 0 and 1.

distrib

One of the following distribution methods used for this address:

  • multicast - A copy of each message is delivered once to each consumer for the address.

  • closest - Each message is delivered to only one consumer for the address. The closest (lowest cost) consumer will be chosen. If there are multiple lowest-cost consumers, deliveries will be spread across those consumers.

  • balanced - Each message is delivered to only one consumer for the address. The consumer with the fewest outstanding (unsettled) deliveries will be chosen. The cost of the route to the consumer is a threshold for delivery (that is, higher cost consumers will only receive deliveries if closer consumers are backed up).

  • flood - Used only for router-control traffic. This is multicast without the prevention of duplicate deliveries.

pri

The priority of the address. If the address prefix/pattern is configured with a priority, that priority will appear in this column. Messages for addresses configured with a priority will be forwarded according to the address’s priority.

in-proc

The number of in-process consumers for this address.

local

For this router, the number of local consumers for this address, or for link-routed addresses, the number of locally-attached containers that are destinations for this address.

remote

The number of remote routers that have at least one consumer for this address.

in

The number of deliveries for this address that entered the network on this router.

out

The number of deliveries for this address that exited the network on this router.

thru

The number of deliveries for this address that were forwarded to other routers.

to-proc

The number of deliveries for this address that were delivered to an in-process consumer.

from-proc

The number of deliveries for this address that were received from an in-process producer.

qdstat --linkroutes

prefix

The address prefix of the link route.

dir

The direction of matching links (from this router’s perspective).

distrib

The distribution method used for routed links. This value should always be linkBalanced, which is the only supported distribution for routed links.

status

The operational status of the link route:

  • active - The route is actively routing attaches (it is ready for use).

  • inactive - The route is inactive, because no local destination is connected.

addr

The auto link’s address.

dir

The direction that messages flow over the auto link:

  • in - Messages flow in from the route-container to the router network.

  • out - Messages flow out to the route-container from the router network.

phs

The address phase for this auto link.

link

The ID of the link managed by this auto link.

status

The operational status of this auto link:

  • inactive - There is no connected container for this auto link.

  • attaching - The link is attaching to the container.

  • failed - The link-attach failed.

  • active - The link is operational.

  • quiescing - The link is quiescing (not yet supported).

  • idle - The link is idle (not yet supported).

lastErr

The description of the last attach failure that occurred on this auto link.

qdstat --policy

Maximum Concurrent Connections

The maximum number of concurrent client connections allowed for this router.

Maximum Message Size

The maximum size in bytes of AMQP message transfers allowed for this router. This limit is applied to transfers over user connections and to transfers to interior routers from edge routers.

Enable Vhost Policy

Enables the router to enforce the connection denials and resource limits defined in the vhost policies.

Enable Vhost Name Patterns

Enable vhost name patterns. When false vhost hostnames are treated as literal strings. When true vhost hostnames are treated as match patterns.

Policy Directory

The absolute path to a directory that holds vhost policy definition files in JSON format (*.json).

Default Vhost

The name of the default vhost policy. This policy rule set is applied to a connection for which a vhost policy has not otherwise been configured. Processing for the default vhost is enabled by default and set to select vhost $default. To disable default vhost processing set defaultVhost to blank or do not define a vhost named $default.

Connections Processed

Count of all incoming connection attempts.

Connections Denied

Count of all incoming connection attempts denied by policy.

Connections Current

Count of currently active incoming connections.

Links Denied

Count of all sender and receiver policy denials summed across all vhosts.

Maximum Message Size Denied

Count of all maxMessageSize policy denials summed across all vhosts.

Total Denials

Count of all policy denials for any reason summed across all vhosts.

qdstat --vhosts

hostname

The hostname of the vhost. This vhost policy applies to any client connection that uses this hostname in the hostname field of the incoming AMQP Open.

maxConnections

The global maximum number of concurrent client connections allowed for this vhost.

maxMessageSize

Optional maximum size in bytes of AMQP message transfers allowed for connections to this vhost. This limit overrides the policy maxMessageSize value and may be overridden by vhost user group settings. A value of zero disables this limit.

maxConnectionsPerUser

The maximum number of concurrent client connections allowed for any user.

maxConnectionsPerHost

The maximum number of concurrent client connections allowed for any remote host (the host from which the client is connecting).

allowUnknownUser

Set to true this allows unknown users, users who are not members of a defined user group, to connect to the vhost. Unknown users are assigned to the $default user group and receive $default settings.

groups

Count of usergroups defined for this vhost.

qdstat --vhoststats

Vhost Stats table

hostname

Name of the vhost.

connectionsApproved

Count of connections approved by policy for this vhost.

connectionsDenied

Count of connections denied by policy for this vhost.

connectionsCurrent

Count of active connections for this vhost.

sessionDenied

Count of sessions denied by policy for this vhost.

senderDenied

Count of senders denied by policy for this vhost.

receiverDenied

Count of receivers denied by policy for this vhost.

maxMessageSizeDenied

Count of transfers denied by maxMesageSize policy for this vhost.

Vhost User Stats table

vhost

Vhost hostname

user

Authenticated user name

remote hosts

List of remote hosts from which this user has connected to this vhost.

qdstat --vhostgroups

Table of settings for all vhosts and groups.

vhost

Vhost name.

group

Vhost user group name.

maxConnectionsPerUser

Optional maximum number of connections that may be created by users in this group. This value, if specified, overrides the vhost maxConnectionsPerUser value.

maxConnectionsPerHost

Optional maximum number of concurrent connections allowed for any remote host by users in this group. This value, if specified, overrides the vhost maxConnectionsPerHost value.

maxMessageSize

Optional maximum size in bytes of AMQP message transfers allowed for connections created by users in this group. This limit overrides the policy and vhost maxMessageSize values. A value of zero disables this limit.

maxFrameSize

The largest frame, in bytes, that may be sent on this connection. Non-zero policy values overwrite values specified for a listener object (AMQP Open, max-frame-size).

maxSessionWindow

The incoming capacity for new AMQP sessions, measured in octets. Non-zero policy values overwrite values specified for a listener object (AMQP Begin, incoming-window).

maxSessions

The maximum number of sessions that may be created on this connection. Non-zero policy values overwrite values specified for a listener object (AMQP Open, channel-max).

maxSenders

The maximum number of sending links that may be created on this connection. A value of 0 disables all sender links.

maxReceivers

The maximum number of receiving links that may be created on this connection. A value of 0 disables all receiver links.

allowDynamicSource

Whether this connection is allowed to create dynamic receiving links (links to resources that do not exist on the peer). A value of true means that users are able to automatically create resources on the peer system.

allowAnonymousSender

Whether this connection is allowed to create sending links if the sender does not provide a target address. By prohibiting anonymous senders, the router only needs to verify once, when the link is created, that the sender is permitted to send messages to the target address. The router does not need to verify each message that is sent on the link. A value of true means that users may send messages to any address. Allowing anonymous senders can also decrease performance: if the sender does not specify a target address, then the router must parse each message to determine how to route it.

allowUserIdProxy

Whether this connection is allowed to send messages with a user ID that is different than the connection’s authenticated user name.

allowWaypointLinks

Whether this connection is allowed to claim waypoint.N capability for attached links. This allows endpoints to act as waypoints without needing auto-links.

allowDynamicLinkRoutes

Whether this connection is allowed to dynamically create connection-scoped link route destinations.

allowAdminStatusUpdate

Whether this connection is allowed to update the admin status of other connections. Note: Inter-router connections cannot be deleted at any time.

allowFallbackLinks

Whether this connection is allowed to claim qd.fallback capability for attached links. This allows endpoints to act as fallback destinations for addresses that have fallback capability enabled.

Tables for each vhost and user group.

Vhost

Name of vhost.

UserGroup

Name of vhost usergroup.

vhost

Name of vhost.

group

Name of vhost usergroup.

users

A list of authenticated users for this user group.

remoteHosts

A list of remote hosts from which the users may connect. A host can be a hostname, IP address, or IP address range. Use commas to separate multiple hosts. To allow access from all remote hosts, specify a wildcard asterisk \*. To deny access from all remote hosts, leave this attribute blank.

sources

A list of source addresses from which users in this group may receive messages. To specify multiple addresses, separate the addresses with either a comma or a space. If you do not specify any addresses, users in this group are not allowed to receive messages from any addresses. You can use the substitution token ${user} to specify an address that contains a user’s authenticated user name. You can use an asterisk \* wildcard to match one or more characters in an address. However, this wildcard is only recognized if it is the last character in the address name. You may specify attributes sources or sourcePattern but not both at the same time.

targets

A list of target addresses to which users in this group may send messages. To specify multiple addresses, separate the addresses with either a comma or a space. If you do not specify any addresses, users in this group are not allowed to send messages to any addresses. You can use the substitution token ${user} to specify an address that contains a user’s authenticated user name. You can use an asterisk \* wildcard to match one or more characters in an address. However, this wildcard is only recognized if it is the last character in the address name. You may specify attributes targets or targetPattern but not both at the same time.

sourcePattern

A wildcarded pattern for matching source addresses from which users in this group may receive messages. The pattern consists of one or more tokens separated by a forward slash /. A token can be one of the following: asterisk *, hash #, or a sequence of characters that do not include /, asterisk *, or hash #. The asterisk * token matches any single token. The hash # token matches zero or more tokens. asterisk \* has higher precedence than hash \#, and exact match has the highest precedence. To specify multiple addresses, separate the addresses with either a comma or a space. You can use the text string ${user} in a token to specify an address that contains a user’s authenticated user name. If you do not specify any addresses then users in this group are not allowed to receive messages from any addresses. You may specify attributes sources or sourcePattern but not both at the same time.

targetPattern

A wildcarded pattern for matching target addresses to which users in this group may send messages. The pattern consists of one or more tokens separated by a forward slash "/". A token can be one of the following: asterisk *, hash #, or a sequence of characters that do not include "/", asterisk *, or hash #. The asterisk * token matches any single token. The hash # token matches zero or more tokens. asterisk \* has higher precedence than hash \#, and exact match has the highest precedence. To specify multiple addresses, separate the addresses with either a comma or a space. You can use the text string ${user} in a token to specify an address that contains a user’s authenticated user name. If you do not specify any addresses then users in this group are not allowed to send messages to any addresses. You may specify attributes targets or targetPattern but not both at the same time.

SEE ALSO

qdrouterd(8), qdmanage(8), qdrouterd.conf(5)