Serverless Observability with IOpipe Event Sources

Mx Kas Perch
IOpipe Blog
Published in
3 min readApr 6, 2018

--

AWS Lambda functions do not exist in a vacuum — rather, they are called upon by other services to complete a task. Knowing which service called an AWS Lambda function, and the context surrounding that call, is crucial towards building observability in serverless applications. Keeping this in mind, we’re happy to announce that we’re rolling out event sources — information about certain types of callers to AWS Lambda functions using the IOpipe agent. This is being done through our event-info plugin, which is now available for our Node.JS, Python, and Java agents.

What’s even more exciting about this feature is that there’s nothing to install, and it available on all of our plans (including forever free!). Our supported event sources include: API Gateway, CloudFront, Firehose, Kinesis, S3, Cloudwatch Scheduled, SNS, and SES.

Example: API Gateway

One very common event source for AWS Lambda functions is the AWS API Gateway — and this is also a point where it can be easy to lose some transparency! Here’s an example of the context we provide when an AWS Lambda function is called my API Gateway:

This information is useful not only to serverless engineers, but to front-end (User Agent data, path, HTTP Method) and Ops (request ID, account ID)! This information opens up large new realms in the observability of serverless applications on AWS Lambda.

Searching Using Event Info

A powerful feature of event source visibility is that it is heavily linked with our invocation search feature:

Links on the event-info for API gateway

You can click on any of the links in the given context to initiate a search for calls with the same context — be it HTTP method, resource/resource path, user agent, and more. This is true for all event-info sources — links provide easy ways to search your invocations for similar events.

How to start collecting Event Info

Be sure to check out details for your runtime, be it Node.JS, Python, or Java: in NodeJS, so long as you’re running the latest @iopipe/iopipe, or running the latest Java agent, there’s nothing more to install and you’ll see the latest data right in your dashboard! Python users will simply add the event-info plugin to their plugins, and you’re ready to access and search event sources!

We’re super excited to bring you these new features, that increase your observability into your AWS Lambda applications without the need for further configuration. If you’d like to try this new feature out, we have a 2-week free trial, and this feature extends to all of our plans, including forever free.

--

--

Dev🥑. Robotics Author and Maker. Yells at robots occasionally.