[ https://issues.apache.org/jira/browse/ARTEMIS-4579?focusedWorklogId=901259&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-901259 ]
ASF GitHub Bot logged work on ARTEMIS-4579: ------------------------------------------- Author: ASF GitHub Bot Created on: 23/Jan/24 19:13 Start Date: 23/Jan/24 19:13 Worklog Time Spent: 10m Work Description: jsmucr commented on PR #4752: URL: https://github.com/apache/activemq-artemis/pull/4752#issuecomment-1906753969 Okay, perhaps I'm not clear enough on what I'm trying to achieve here. And I understand your concerns, so I'll be glad for just another simple solution of my problem if you can think of any. Here's the use case: * There's a SLA for every file we run through the broker. It's crucial to know there's a message running around for 10 minutes while it was supposed to leave our system 5 minutes ago. Then there's a five minute trigger which puts us on guard but it's quite common for individual consumers to run into issues with remote customer services (such as connection or gateway timeouts), and it's likely for a warning to disappear before we hit the 10-minute alert. * There's a 24/7 first level support without any access to underlying systems except for those alerts. These people wake us up at night based on what an alert says. If it says 5 minutes, they wait (_because it's yellow_), once it hits 10 minutes, we already know there's something to take a look at. * In order to figure out which message is the oldest one that cannot be delivered, we need to look (all sleepy and grumpy) at it's metadata. Currently, this basically means to pause the queue, because the GUI doesn't display messages-in-flight. The time is running out, so a GUI is a must. Unless, of course, there's an attribute, which directly shows the metadata and allows one to act quickly. Issue Time Tracking ------------------- Worklog Id: (was: 901259) Time Spent: 2.5h (was: 2h 20m) > Add the *FirstMessage* API for scheduled messages > ------------------------------------------------- > > Key: ARTEMIS-4579 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4579 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: API > Affects Versions: 2.31.2 > Reporter: Jan Å mucr > Priority: Major > Fix For: 2.32.0 > > Time Spent: 2.5h > Remaining Estimate: 0h > > Alerting on issues with messages not being received properly for a period of > time is an uneasy task. We use the {{getFirstMessageAge()}} command to > trigger alerts in Zabbix, and it works as long as there are no consumers. > But this approach fails when there are consumers repeatedly failing to > receive a message. That message is getting scheduled for redelivery over and > over, and even though there still is an old message in the queue to be > reported, it's no longer visible via {{getFirstMessage*()}} API. > The goal here is to add a set of functions working with messages scheduled > for delivery: > {noformat} > getFirstScheduledMessageAsJSON() > getFirstScheduledMessageTimestamp() > getFirstScheduledMessageAge() > {noformat} > It may be not the most effective approach but it's quite a convenient one, > especially when monitoring a wide set of queues, each with its own set of > alerts. -- This message was sent by Atlassian Jira (v8.20.10#820010)