[ 
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)

Reply via email to