This is a tool to pull Metrics from RabbitMQ Admin UI and send them to Coralogix. It will deploy a lambda function to your AWS Account. This Lambda function will periodically pull your RabbitMQ Metrics and send them to Coralogix.
# sam build # sam deploy --guided
Variable | Description |
---|---|
APPLICATION_NAME | Coralogix Application Metadata |
SUBSYSTEM | Coralogix Subsystem Metadata |
PRIVATE_KEY | Coralogix Private Key |
RABBITMQ_USERNAME | Rabbit Admin UI Username |
RABBITMQ_PASSWORD | Rabbit Admin UI Password |
RABBITMQ_FQDN | Rabbit Admin UI URL Example: https://X-XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.mq.us-east-1.amazonaws.com |
The Lambda function needs to have network connectivity with Rabbit MQ Admin UI (Firewall, VPC, SecurityGroup, Etc)
If your Account is not in the EU region (the account URL does not have a .com suffix) you will need to add this environment variable:
CORALOGIX_URL=https://<coralogix_cluster_url>/api/v1/logs
Cluster location | coralogix_cluster_url |
---|---|
US | api.coralogix.us |
IN | api.app.coralogix.in |
Singapore | api.coralogixsg.com |
EU2 | api.eu2.coralogix.com |
This Current Version Supports Overview, Queues, Nodes, and Connections API.
Documentation here
Metric Example:
{ "cluster_name": "mybroker", "disable_stats": false, "product_version": "3.9.16", "erlang_full_version": "Erlang/OTP 24 [erts-12.3.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit]", "rates_mode": "basic", "queue_totals": { "messages": 16, "messages_details": { "rate": 0 }, "messages_ready": 16, "messages_ready_details": { "rate": 0 }, "messages_unacknowledged": 0, "messages_unacknowledged_details": { "rate": 0 } }, "contexts": [ { "ssl_opts": { "honor_ecc_order": "true", "honor_cipher_order": "true", "cacertfile": "/etc/rabbitmq/certs/cert_chain.pem", "keyfile": "/etc/rabbitmq/certs/server_key.pem", "certfile": "/etc/rabbitmq/certs/server_certificate.pem", "port": "15671", "versions": "['tlsv1.2']" }, "node": "[email protected]", "description": "RabbitMQ Management", "path": "/", "cowboy_opts": "[{sendfile,false}]", "port": "15671", "ssl": "true" } ], "product_name": "RabbitMQ", "sample_retention_policies": { "global": [ 600, 3600, 28800, 86400 ], "basic": [ 600, 3600 ], "detailed": [ 600 ] }, "management_version": "3.9.16", "churn_rates": { "channel_closed": 16, "channel_closed_details": { "rate": 0 }, "channel_created": 16, "channel_created_details": { "rate": 0 }, "connection_closed": 16, "connection_closed_details": { "rate": 0 }, "connection_created": 16, "connection_created_details": { "rate": 0 }, "queue_created": 1, "queue_created_details": { "rate": 0 }, "queue_declared": 2, "queue_declared_details": { "rate": 0 }, "queue_deleted": 0, "queue_deleted_details": { "rate": 0 } }, "node": "[email protected]", "endpoint": "overview", "rabbitmq_version": "3.9.16", "statistics_db_event_queue": 0, "exchange_types": [ { "name": "direct", "description": "AMQP direct exchange, as per the AMQP specification", "enabled": true }, { "name": "fanout", "description": "AMQP fanout exchange, as per the AMQP specification", "enabled": true }, { "name": "headers", "description": "AMQP headers exchange, as per the AMQP specification", "enabled": true }, { "name": "topic", "description": "AMQP topic exchange, as per the AMQP specification", "enabled": true }, { "name": "x-consistent-hash", "description": "Consistent Hashing Exchange", "enabled": true }, { "name": "x-federation-upstream", "description": "Federation upstream helper exchange", "internal_purpose": "federation", "enabled": true } ], "message_stats": { "confirm": 16, "confirm_details": { "rate": 0 }, "disk_reads": 1, "disk_reads_details": { "rate": 0 }, "disk_writes": 16, "disk_writes_details": { "rate": 0 }, "drop_unroutable": 0, "drop_unroutable_details": { "rate": 0 }, "publish": 16, "publish_details": { "rate": 0 }, "return_unroutable": 0, "return_unroutable_details": { "rate": 0 } }, "erlang_version": "24.3.3", "enable_queue_totals": false, "object_totals": { "channels": 0, "connections": 0, "consumers": 0, "exchanges": 7, "queues": 1 } }