Add RabbitMQ slave_nodes and synchronized_slave_nodes metrics (#7084)

This commit is contained in:
Joao Gilberto Magalhães 2020-02-25 18:36:06 -06:00 committed by GitHub
parent 9d601d6d78
commit de16279d72
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 17 deletions

View File

@ -173,7 +173,9 @@ For additional details reference the [RabbitMQ Management HTTP Stats][management
- messages_ready (int, count)
- messages_redeliver (int, count)
- messages_redeliver_rate (float, messages per second)
- messages_unack (integer, count)
- messages_unack (int, count)
- slave_nodes (int, count)
- synchronised_slave_nodes (int, count)
+ rabbitmq_exchange
- tags:

View File

@ -121,17 +121,19 @@ type QueueTotals struct {
// Queue ...
type Queue struct {
QueueTotals // just to not repeat the same code
MessageStats `json:"message_stats"`
Memory int64
Consumers int64
ConsumerUtilisation float64 `json:"consumer_utilisation"`
Name string
Node string
Vhost string
Durable bool
AutoDelete bool `json:"auto_delete"`
IdleSince string `json:"idle_since"`
QueueTotals // just to not repeat the same code
MessageStats `json:"message_stats"`
Memory int64
Consumers int64
ConsumerUtilisation float64 `json:"consumer_utilisation"`
Name string
Node string
Vhost string
Durable bool
AutoDelete bool `json:"auto_delete"`
IdleSince string `json:"idle_since"`
SlaveNodes []string `json:"slave_nodes"`
SynchronisedSlaveNodes []string `json:"synchronised_slave_nodes"`
}
// Node ...
@ -585,10 +587,12 @@ func gatherQueues(r *RabbitMQ, acc telegraf.Accumulator) {
"rabbitmq_queue",
map[string]interface{}{
// common information
"consumers": queue.Consumers,
"consumer_utilisation": queue.ConsumerUtilisation,
"idle_since": queue.IdleSince,
"memory": queue.Memory,
"consumers": queue.Consumers,
"consumer_utilisation": queue.ConsumerUtilisation,
"idle_since": queue.IdleSince,
"slave_nodes": len(queue.SlaveNodes),
"synchronised_slave_nodes": len(queue.SynchronisedSlaveNodes),
"memory": queue.Memory,
// messages information
"message_bytes": queue.MessageBytes,
"message_bytes_ready": queue.MessageBytesReady,

View File

@ -98,6 +98,8 @@ func TestRabbitMQGeneratesMetrics(t *testing.T) {
"messages_redeliver": 33,
"messages_redeliver_rate": 2.5,
"idle_since": "2015-11-01 8:22:14",
"slave_nodes": 1,
"synchronised_slave_nodes": 1,
}
compareMetrics(t, queuesMetrics, acc, "rabbitmq_queue")

View File

@ -109,6 +109,12 @@
"exclusive_consumer_tag": null,
"effective_policy_definition": [],
"operator_policy": null,
"policy": null
"policy": null,
"slave_nodes":[
"rabbit@ip-10-1-2-118"
],
"synchronised_slave_nodes":[
"rabbit@ip-10-1-2-118"
]
}
]