A description of the application scenario
Test environment Business OpenStack builds RABBITMQ as an RPC message queue, so MQ plays an important role in this case, how to use Zabbix to monitor
RABBITMQ Business
Two RABBITMQ monitoring points
RABBITMQ officially provides two ways to manage and monitor RABBITMQ.
1. Using RABBITMQCTL to manage and monitor
Viewing virtual Hosts
# Rabbitmqctl List_vhosts
View queues
# Rabbitmqctl List_queues
View Exchanges
# Rabbitmqctl List_exchanges
View User
# Rabbitmqctl List_users
View Connections
# Rabbitmqctl List_connections
View consumer Information
# Rabbitmqctl List_consumers
View environment variables
# RABBITMQCTL Environment
To view an unconfirmed queue
# rabbitmqctl List_queues name messages_unacknowledged
View memory usage for a single queue
# RABBITMQCTL list_queues Name Memory
View ready-to-prepare queues
# rabbitmqctl List_queues name Messages_ready
2. Use the RABBITMQ management plugin to monitor and manage
Turn on the management plugin
# Rabbitmq-plugins Enable Rabbitmq_management
http://172.28.2.157:15672/
You can see the status of RABBITMQ by visiting this URL.
Http://172.28.2.157:15672/cli/rabbitmqadmin
Download Rabbitmqadmin management Tools
Get Vhost List
# curl-i-U guest:guest http://localhost:15672/api/vhosts
Get a list of channels, limit the display format
# curl-i-u guest:guest "Http://localhost:15672/api/channels?sort=message_stats.publish_details.rate&sort_ Reverse=true&columns=name,message_stats.publish_details.rate,message_stats.deliver_get_details.rate "
Show summary Information
# curl-i-u guest:guest "Http://localhost:15672/api/overview"
Management_version Management plug-in version
Cluster_Name the name of the entire RABBITMQ cluster, set by Rabbitmqctl Set_cluster_name
Total number of messages published by publish
Queue_totals Show ready messages, unconfirmed messages, uncommitted messages, etc.
Statistics_db_event_queue shows the number of events that may not yet be processed by the database
Consumers number of consumers
Queues Queue Length
Number of exchanges queue switches
Connections Number of connections
Number of channels channels
Display node information
# curl-i-u guest:guest "Http://localhost:15672/api/nodes"
Disk_free disk remaining space, in bytes
Disk_free_limit threshold for disk alarms
fd_used number of file descriptors used
Fd_total number of file descriptors available
Io_read_avg_time read operation average time, in milliseconds
Io_read_bytes total read-in disk data size in bytes
Io_read_count number of total read operations
Io_seek_avg_time seek operation average time, millisecond unit
Io_seek_count seek Operations Total
Io_sync_avg_time average time, in milliseconds, for fsync operations
Io_sync_count Total Fsync Operations
Io_write_avg_time average time per disk write operation, in milliseconds
Io_write_bytes The total amount of data written to disk, in bytes
Io_write_count Total Disk Write operations
Mem_used Memory Usage bytes
Mem_limit Memory alarm threshold, default is 40% of total physical memory
Mnesia_disk_tx_count the number of Mnesia transactions that need to be written to disk
Mnesia_ram_tx_count number of Mnesia transactions that do not need to be written to disk
Msg_store_write_count number of messages written to the message store
Msg_store_read_count number of messages read in from message store
proc_used the number of Erlang processes used
Proc_total the maximum number of Erlang processes
Queue_index_journal_write_count the number of records written to the queue index log. Each record represents a message that is posted to the queue, sent out from the message queue, or acknowledged in the message queue by Q
Queue_index_read_count number of records read from the queue index
Queue_index_write_count number of records written to the queue index
sockets_used number of file descriptors used by socket
Partitions
Uptime the elapsed time, in milliseconds, since the Erlang VM was started
Run_queue number of Erlang processes waiting to run
Processors detected the number of cores used by the Erlang process
Net_ticktime the currently set kernel tick time
View channel Information
# curl-i-u guest:guest "Http://localhost:15672/api/channels"
View switch Information
# curl-i-u guest:guest "http://localhost:15672/api/exchanges"
View queue Information
# curl-i-u guest:guest "http://localhost:15672/api/queues"
View vhosts Information
# curl-i-u guest:guest "http://localhost:15672/api/vhosts/?name=/"
Zabbix Monitoring RABBITMQ