Disadvantages CloudWatch and X-ray:
- Seems not possible to trace over the API gateway or track asynchronous invocations such as SNS on Kinesis.
- searching CloudWatch logs might feel cumbersome
- one needs to manually log calls made to the external API services
Possible solution:
- Lumigo seems to solve the issues above
## Some more thoughts
- So in the beginning I was searching CloudWatch logs using the command-line, via the `aws logs` interface.
```bash
awslogs() {
local log_group
export AWS_PROFILE=$(cat ~/.aws/config | awk '/^\[profile /{print $2}' | tr -d ']' | fzf) && \
log_group=$(aws logs describe-log-groups | jq -r '.logGroups[].logGroupName' | fzf) && \
hours=$(seq 1 48 | fzf) && \
aws logs tail "$log_group" --since "${hours}h" --follow --format=short
}
```
- If one is interested in cross-platform error reporting (a subset of tracing), Sentry might be an option.
## Further reading:
- [What is AWS X-Ray? - Lumigo](https://lumigo.io/aws-serverless-ecosystem/what-is-aws-x-ray/)
- [Serverless observability, what can you use out of the box? | theburningmonk.com](https://theburningmonk.com/2018/04/serverless-observability-what-can-you-use-out-of-the-box/)
- [Serverless Observability: It's easier than you think! - Lumigo](https://lumigo.io/blog/serverless-observability-its-easier-than-you-think/)