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

Structured log output for all functions #58

Open
7 tasks
timoguin opened this issue Jan 18, 2023 · 0 comments
Open
7 tasks

Structured log output for all functions #58

timoguin opened this issue Jan 18, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@timoguin
Copy link
Contributor

timoguin commented Jan 18, 2023

All functions should output fully structured logs.

Considerations

Every individual event that triggers a Lambda should result in at least one line of structured output. This will improve observability in a number of ways. By default they're going to go to CloudWatch Logs, which allows us to create alarms based on metrics calculated from the logs. Then they could also be easily streamed from there into Kinesis Firehose, and then delivered in parquet right back into Matano.

A good structured logging library will allow us to create a log context that we can flow through the application logic, attaching relevant log data along the way, and then flushing one line at the end. High cardinality log output is key.

Tasks

  • Research structured log libraries
    • Rust
    • Should we provide something for Python code? For example, to assist debugging if any of the detections are failing.
    • Java / Kotlin?
    • NodeJS?
  • Design work
  • Implementation for each language

References

Will add later.

@timoguin timoguin added the enhancement New feature or request label Jan 18, 2023
@timoguin timoguin changed the title enhancement: Structured log output for all functions Structured log output for all functions Feb 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant