-
Notifications
You must be signed in to change notification settings - Fork 467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MillisBehindLatest metric across _all_ shards #249
Comments
Kinesis does emit a Stream level metrics for iterator age, called GetRecords.IteratorAgeMillis. You should be able to setup alarm on that metric. That metric can be found under the Kinesis namespace in CloudWatch. If you set the statistic for that metric to Maximum it'll map the maximum millisBehindLatest from all the shards for that given period. Please feel free to reopen the issue, if you still have questions. |
Thanks for informing about the |
Thank you for the feedback. We agree with the change you have suggested, and will prioritize it accordingly against the other customer requests we receive. |
@sahilpalvia I also have same use case which we want to scale up/down based on how fast KCL application consumes. this metric will be helpful. |
We have a similar use case and would like this metric as well. We have two kcl consumers on the same kinesis stream. One has a low threshold requirement while the other has a much higher threshold of latency. We've set the alarm at the lower threshold on the stream, but it alarms once or twice a day because of the higher latency kcl consumer. We have to treat it as an alarm situation each time which obviously causes a lot of time wasted. We've considered using the shard level metric, however being on the limit of max alarms allowed and having a 60 shard stream, that is not possible currently. |
@sahilpalvia we also have exact same use case, can you provide any update on this? |
We don't have an update at this time. This is a feature we are interested adding, and will prioritize it with all customer requests. For all of those interested can you please post a reaction on the parent post, this will assist us in prioritizing customer requests. |
+1 |
2 similar comments
+1 |
+1 |
+1 |
1 similar comment
+1 |
+1 |
+1 |
@pfifer Any update? |
+1 |
1 similar comment
+1 |
Hello, There are service side metrics emitted for monitoring stream-level behind-ness. For consumers using GetRecords, "GetRecords.IteratorAgeMilliseconds" metric will be emitted and all consumer applications will be contributing to this metric. Consumer applications using enhanced fanout will be emitting "SubscribeToShardEvent.MillisBehindLatest" metric along with the consumer name, so status of each consumer can be monitored individually. Consider using these metrics as an alternative to client-side metrics for monitoring application health. For more details please refer to: https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html |
Hello @yasemin-amzn ,
Unfortunately we can't see this metric in our account. |
+1 |
+1 |
Currently several metrics, including
MillisBehindLatest
are reported to CloudWatch with one of the dimensions being a shard id. On the other side we find it very convenient to set CloudWatch alarms on top of this metric to be able to react, if any shard starts to lag behind. Now it is not possible to set up alerts without specifying the exact name of the shard. This is a limiting factor, because once you add and remove shards constantly, the shard names are being very dynamic and each time they change, you need to change the alarms accordingly, which is frustrating. In general as one want to react to any shard lagging behind, it would be very nice to have a globalMillisBehindLatest
without relating it to any shard in its dimensions. This can be the maximum across all shards, likeMaxMillisBehindLatest
.The text was updated successfully, but these errors were encountered: