Skip to content
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

[core] Enable aspects for remaining resources. #41

Open
5 tasks
ayush987goyal opened this issue Mar 5, 2022 · 6 comments
Open
5 tasks

[core] Enable aspects for remaining resources. #41

ayush987goyal opened this issue Mar 5, 2022 · 6 comments
Labels
enhancement Existing feature enhancement

Comments

@ayush987goyal
Copy link
Member

Enable scope monitoring with aspects for the following remaining resources

  • Cloudwatch Logs
  • ECS Patterns
  • ALB/NLB
  • SQS with DLQ
  • Stepfunction Integrations/Activity
@ayush987goyal ayush987goyal added the enhancement Existing feature enhancement label Mar 5, 2022
mergify bot pushed a commit that referenced this issue Mar 5, 2022
Ref: https://github.com/cdklabs/cdk-watchful/blob/main/src/aspect.ts

The concept of `MyMonitoringOptions` for every monitoring is needed because `Omit` is not supported by JSII. Please refer this issue and the comment on the linked PR for the way to handle that.
aws/jsii#1707

Opened an issue to add aspects for other left-out resources: #41
@ayush987goyal ayush987goyal changed the title Enable aspects for remaining resources. [core] Enable aspects for remaining resources. Mar 5, 2022
@LarsFronius
Copy link

Would be awesome to see! Is there any inherent complexity one should think about when implementing aspects for these particular resources? I assume there was a reason it's not yet implemented.

@echeung-amzn

This comment was marked as outdated.

@ayush987goyal
Copy link
Member Author

So these have not been implemented because of how the underlying facade implementation of the monitoring is done. For example

  • The ECS Patterns module is really tricky since it is difficult to identify all the resources and pass to the facade.
  • SQS with DLQ is also difficult since it is not entirely possible to related two queues to one another.
  • Adding cloudwatch logs monitoring aspects based can add a lot of noise potentially.

@LarsFronius
Copy link

Thanks for the insight @ayush987goyal - that roughly matches what I had observed from glancing over it.

  • ECS: I was thinking that maybe for the aspect side of the monitoring construct we could not work on the "patterns" but on the primitive of an ECS Service. I think we'd only only ever have CPU+Memory metrics but it's better than nothing?
  • For SQS that approach would of course mean no DLQ connection as well - I'll have a look if there is any way to obtain the reference though. Currently it looks like they show up as individual queues on the dashboard.
  • For cloudwatch logs I've gone down the route of adding one dashboard segment that automatically encompasses all log groups, so that they are not scattered as individual log groups on the dashboard. It looks somewhat clean for my case, but that may vary a lot on the individual stacks and purposes (in my case it's an ECS (Fargate) + ALB stack). I reckon that could be a configurable option on the monitoring aspect itself?

@ayush987goyal
Copy link
Member Author

  • ECS: I think that is correct but my initial thought was to not have a half baked solution. But it would make sense to add that if people are interested in just that.
  • SQS: A single SQS aspect monitoring is already present. In facade case, it accepts both the queues and hence it is able to create monitoring for them.
  • We will have to see if we need only one segment then how do we track that. But feel free to experiment and raise a PR!

@RichiCoder1
Copy link

I mentioned this in #120, but I'm personally very much in favor of breaking ECS down into it's component parts for monitoring and not trying to work with the L2/L3 patterns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Existing feature enhancement
Projects
None yet
Development

No branches or pull requests

4 participants