All Projects → barryz → rmqmonitor

barryz / rmqmonitor

Licence: Apache-2.0 License
A agent that written by Go(lang) used for monitoring RabbitMQ.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to rmqmonitor

Illuminati
This is a Platform that collects all the data accuring in your Application and shows the data in real time by using Kibana or other tools.
Stars: ✭ 106 (+523.53%)
Mutual labels:  agent, rabbitmq
centos-script
🎉centos下工具安装脚本,包含基础环境配置,Gitlab、Docker、LDAP、MongoDB、MySQL、RabbitMQ、Supervisor、Node、Python、zsh、rar、zabbix、k8s、prometheus、grafana等🎉
Stars: ✭ 121 (+611.76%)
Mutual labels:  rabbitmq
rabbitmq-operator
RabbitMQ Kubernetes operator
Stars: ✭ 16 (-5.88%)
Mutual labels:  rabbitmq
RabbitMQTest
用于RabbitMQ性能测试
Stars: ✭ 37 (+117.65%)
Mutual labels:  rabbitmq
OpenSleigh
OpenSleigh is a Saga management library for .NET Core.
Stars: ✭ 198 (+1064.71%)
Mutual labels:  rabbitmq
journey full microservices
The journey to building a full microservice app
Stars: ✭ 16 (-5.88%)
Mutual labels:  rabbitmq
aiorabbit
An AsyncIO RabbitMQ client for Python 3
Stars: ✭ 18 (+5.88%)
Mutual labels:  rabbitmq
agent-mac
falcon-agent for mac
Stars: ✭ 12 (-29.41%)
Mutual labels:  open-falcon
celery-priority-tasking
This is a prototype to schedule jobs in the backend based on some priority using Rabbitmq and Celery.
Stars: ✭ 28 (+64.71%)
Mutual labels:  rabbitmq
osma
An open source mobile agent for achieving SSI
Stars: ✭ 41 (+141.18%)
Mutual labels:  agent
RebusSamples
Small sample projects
Stars: ✭ 82 (+382.35%)
Mutual labels:  rabbitmq
codeplayer
An online judge system for competitive programming platform, The website is hosted on http://codeplayer.co.in
Stars: ✭ 12 (-29.41%)
Mutual labels:  rabbitmq
Tesseract
A set of libraries for rapidly developing Pipeline driven micro/macroservices.
Stars: ✭ 20 (+17.65%)
Mutual labels:  rabbitmq
LinkAgent
LinkAgent is a Java-based open-source agent designed to collect data and control Functions for Java applications through JVM bytecode, without modifying applications codes.
Stars: ✭ 105 (+517.65%)
Mutual labels:  agent
alpine-rmq
35MB RabbitMQ Docker image running on Alpine Linux
Stars: ✭ 34 (+100%)
Mutual labels:  rabbitmq
chat21-ionic
A ionic v5 and Angular 8 desktop and mobile chat
Stars: ✭ 69 (+305.88%)
Mutual labels:  rabbitmq
pandora
Small box of pandora to prototype your app with ready for use backend. This is just my compilation of different solutions occasionally applied in hackathons and challenges
Stars: ✭ 26 (+52.94%)
Mutual labels:  rabbitmq
ansible-rabbitmq-cluster
No description or website provided.
Stars: ✭ 21 (+23.53%)
Mutual labels:  rabbitmq
terraform-aws-rabbitmq
A terraform module to deploy a rabbitmq cluster with AutoScaling Group and Load Balancer
Stars: ✭ 25 (+47.06%)
Mutual labels:  rabbitmq
SmartTrafficIntersection
Another AI toy project, of a traffic intersection controlled by a Reinforcement Learning AI agent to optimize traffic flow in an intersection of vehicles or pedestrians
Stars: ✭ 30 (+76.47%)
Mutual labels:  agent

rmqmonitor

Go Report Card GoCI Build Status Apache 2 licensed

rmqmonitor is an agent that used for open-falcon to monitoring RabbitMQ.

Arch Requirement

Linux

Build

$make build

Agent launch

$/bin/bash control.sh start|stop|restart

It will create a temporary directory var in your current path.

Metrics

overview metrics:

key tag type note
rabbitmq.overview.publishRate GAUGE rate of message publishing
rabbitmq.overview.deliverRate GAUGE rate of message delivering
rabbitmq.overview.redeliverRate GAUGE rate of message re-delivering
rabbitmq.overview.ackRate GAUGE rate of message acknowledging
rabbitmq.overview.msgsTotal GAUGE total messages(sum of unack and ready
rabbitmq.overview.msgsReadyTotal GAUGE ready messages(not deliver yet)
rabbitmq.overview.msgsUnackTotal GAUGE un-acknowledged messages
rabbitmq.overview.publishTotal GAUGE total messaees of publishing
rabbitmq.overview.deliverTotal GAUGE total messaees of delivering
rabbitmq.overview.redeliverTotal GAUGE total messaees of re-delivering
rabbitmq.overview.channlesTotal GAUGE total channels
rabbitmq.overview.connectionsTotal GAUGE total connections
rabbitmq.overview.consumersTotal GAUGE total counsumers
rabbitmq.overview.queuesTotal GAUGE total queues
rabbitmq.overview.exchangesTotal GAUGE total exchanges
rabbitmq.overview.isAlive GAUGE healthy status of cluster
rabbitmq.overview.isPartition GAUGE partition status of cluster
rabbitmq.overview.memUsedPct GAUGE memory usage percentage
rabbitmq.overview.fdUsedPct GAUGE percentage of fd usage
rabbitmq.overview.erlProcsUsedPct GAUGE percentage of erlang processes
rabbitmq.overview.socketUsedPct GAUGE percentage of socket usage
rabbitmq.overview.statsDbEvent GAUGE the events of queue produced by management database
rabbitmq.overview.ioReadawait GAUGE io_read_avg_wait_time
rabbitmq.overview.ioWriteawait GAUGE io_write_avg_wait_time
rabbitmq.overview.ioSyncawait GAUGE io_sync_avg_wait_time
rabbitmq.overview.memConnreader GAUGE memory usage for connections reader
rabbitmq.overview.memConnwriter GAUGE memory usage for connections writer
rabbitmq.overview.memConnchannels GAUGE memory usage for connections channels
rabbitmq.overview.memMgmtdb GAUGE memory usage for management db)
rabbitmq.overview.memMnesia GAUGE memory usage for mnesia database)
rabbitmq.overview.runQueue GAUGE total run_queues of Erlang
rabbitmq.overview.getChannelCost GAUGE latency for getting channels
rabbitmq.overview.memAlarm GAUGE memory alarm triggered
rabbitmq.overview.diskAlarm GAUGE disc alarm triggered

Queue Metrics

key tag type note
rabbitmq.queue.publish name=$queue-name,vhost=$vhost GAUGE rate of message publishing with specified queue
rabbitmq.queue.delver_get name=$queue-name,vhost=$vhost GAUGE rate of message delivering with specified queue
rabbitmq.queue.redeliver name=$queue-name,vhost=$vhost GAUGE rate of message re-delivering with specified queue
rabbitmq.queue.ack name=$queue-name,vhost=$vhost GAUGE rate of message acknowledging with specified queue
rabbitmq.queue.consumers name=$queue-name,vhost=$vhost GAUGE total consumers with specified queue
rabbitmq.queue.consumer_utilisation name=$queue-name,vhost=$vhost GAUGE consumers utilisation of the specified queue
rabbitmq.queue.dpratio name=$queue-name,vhost=$vhost GAUGE the radio of deliver and publish with specified queue
rabbitmq.queue.memory name=$queue-name,vhost=$vhost GAUGE total memories occupied with specified queue
rabbitmq.queue.messages name=$queue-name,vhost=$vhost GAUGE total messages with specified queue
rabbitmq.queue.messages_ready name=$queue-name,vhost=$vhost GAUGE ready messages with specified queue
rabbitmq.queue.messages_unacked name=$queue-name,vhost=$vhost GAUGE un-ack messageis with specified queue
rabbitmq.queue.messages_status name=$queue-name,vhost=$vhost GAUGE the status of the specified queue

Exchange Metrics

key tag type note
rabbitmq.exchange.publish_in name=$exchange-name,vhost=$vhost GAUGE publishing-inboud rate of the specified exchange
rabbitmq.exchange.publish_out name=$exchange-name,vhost=$vhost GAUGE publishing-outboud rate of the specified exchange
rabbitmq.exchange.confirm name=$exchange-name,vhost=$vhost GAUGE acknowledging rate of the specified exchange

Witch

spiderQ will starting a web server to handle several instructions which to control RabbitMQ process state.

The web server listening on port 5671 by default, it enable basicauth, and handle client's requests.

RabbitMQ process management(graceful)

curl -u noadmin:ADMIN -XPUT -d '{"name":"is_alive"}' http://127.0.0.1:5671/api/app/actions

curl -u noadmin:ADMIN -XPUT -d '{"name":"start"}' http://127.0.0.1:5671/api/app/actions

curl -u noadmin:ADMIN -XPUT -d '{"name":"stop"}' http://127.0.0.1:5671/api/app/actions

curl -u noadmin:ADMIN -XPUT -d '{"name":"restart"}' http://127.0.0.1:5671/api/app/actions

Stop RabbitMQ process forcibly

curl -u noadmin:ADMIN -XGET http://127.0.0.1:5671/api/app/fstop

Get the healthy status of single RabbitMQ node

curl -u noadmin:ADMIN -XGET http://127.0.0.1:5671/api/stats

Start/Stop/Restart RabbitMQ statistics management database

curl -u noadmin:ADMIN -XPUT -d '{"name":"reset"}' http://127.0.0.1:5671/api/stats/actions

curl -u noadmin:ADMIN -XPUT -d '{"name":"crash"}' http://127.0.0.1:5671/api/stats/actions

curl -u noadmin:ADMIN -XPUT -d '{"name":"terminate"}' http://127.0.0.1:5671/api/stats/actions
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].