DataDog / datadog-serverless-functions

Repo of AWS Lambda and Azure Functions functions that process streams and send data to Datadog
Apache License 2.0
336 stars 379 forks source link

Unify all the different lambda codes in one? #479

Open jamengual opened 3 years ago

jamengual commented 3 years ago

Describe what happened: you guys have 3 different lambda codes, why? the docs are different every single one and does not even have the right links to the datadog docs site.

Describe what you expected: one lambda code to deploy that will scrape rds, vpc logs, cloudwatch logs etc. One set of documentation to configure and deploy the lambda Proper release of each version

Steps to reproduce the issue:

jamengual commented 3 years ago

I guess I should say 15 different code folders....I did not look at the azure folder, anyways way to many is what I'm trying to say

tianchu commented 3 years ago

@jamengual It does make sense to combine the three different AWS Lambda functions into one. However, no work has been prioritized yet.

jamengual commented 3 years ago

For a Billions dollar company, this feels a bit immature, I think you guys should put some priority on this to make it look more clean, easy to use, and professional.

The Docs are very confusing too, the cascading links that link back to the same doc which expresses things that can be done but can't be done in another link are mind-bending.

Sorry to be too blunt but my level of frustration (and many other people I know that have to deal with this recently) is high right now.

tianchu commented 3 years ago

@jamengual I totally agree that the docs have lots of room for improvement, and it is being treated as a high priority.

Are you encountering specific issues with the usage of these Lambda functions? For quick questions, we can help you out at our Slack community(#serverless channel) and you can also contact our support for any issue that requires a deeper look.

jamengual commented 3 years ago

Well, I was the lucky guy that ended up having to implement the 3 lambdas at the same time, vpc flow logs, rds enhance monitoring ( which is cloudwatch type, why the cloudwatch integration can't pick this up ?) and s3 logs so you can see how confusing this could get having to do 3 types of lambdas, 3 different docs ( have you seen the vpc flow log docs when they were last updated?) plus as an added bonus when you are using something like a cloudtrail bucket and aggregating all trails in one bucket and all those objects use KMS encryption it can get very difficult.

Unifying the doc format and making them more explicit and detailed will be nice even if you do not put all the code together. Making it VERY obvious that the code is dissected in 3 different lambdas will be nice for someone that is new. Making releases for vpc flow log, rds lambda and maybe moving them to a different repo will be better. Making all the lambdas python 3.7 runtime compatible ( or whatever is the latest stable) will be good too since vpc flow logs lambda is 2.7??

you can see where I'm going with this, there have been 3 different levels of effort in these projects and it is evident the lack of review and time put to each one just by looking at the docs, structure, and support in docs.

We contacted support and I will prefer not to discuss what happened there but let me just say that after like 4 days of exchanges we got some partial answers.

Sorry, the wound is too fresh still.

On Thu, Aug 5, 2021 at 9:05 AM Tian Chu @.***> wrote:

@jamengual https://github.com/jamengual I totally agree that the docs have lots of room for improvement, and it is being treated as a high priority.

Are you encountering specific issues with the usage of these Lambda functions? For quick questions, we can help you out at our Slack community https://chat.datadoghq.com/(#serverless channel) and you can also contact our support for any issue that requires a deeper look.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/DataDog/datadog-serverless-functions/issues/479#issuecomment-893578958, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQ3ERBSZKPAQBVBMANR4ADT3KZGPANCNFSM5BHFZE6Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

jamengual commented 3 years ago

the vpc lambda is python3.7 base on this : https://github.com/DataDog/datadog-serverless-functions/blob/master/aws/vpc_flow_log_monitoring/vpc-flow-log-sam-template.yaml#L21 but the docs say otherwise: Create a lambda function: Skip the blueprint, name it functionname, set the Runtime to Python 2.7, the handle to lambda_function.lambda_handler, and the role to lambda_execution.

So what is it? this just proves my point about this whole mess.

tianchu commented 3 years ago

@jamengual Thanks for your great feedback, and I have brought it to our leadership's attention. We have also realized the pain of maintaining three different Lambda functions, which requires lots of effort to keep everything up-to-date. We do plan to unify the functions into one and improve the documentation.

jamengual commented 3 years ago

@tianchu and example of the TF module we built for this and the options we need to add to accommodate for the 3 different code functions and release process.

https://github.com/cloudposse/terraform-aws-datadog-lambda-forwarder