Setting Up Your Lambda Function Metrics Dashboard
Interested in using the Coralogix AWS Lambda Telemetry Exporter v.0.2.0 to collect and send us Lambda function metrics? This tutorial provides two methods for setting up a dashboard for monitoring a single Lambda function:
Import a pre-built dashboard to Granfana (recommended)
Manually create a dashboard that fits your specific needs
Import a Pre-Built Dashboard
STEP 1. Download the attached JSON file.
STEP 2. Import the file to Grafana as a pre-built dashboard.
Create a Dashboard
Use the example presented here to create a dashboard that fits your specific needs.
STEP 1. Create a new Coralogix - Grafana dashboard.
- Select Grafana in the upper right-hand menu of your Coralogix dashboard.
- Click Dashboard settings
STEP 2. Create a new variable
- Select Variables in the left-hand menu > Click Add variable
Create a new variable with the input below > Click update
Name:
faas_name
Type:
Constant
Value: Input the Lambda function that you wish to monitor. (Using a constant will make it easy to replicate the dashboard for other functions in the future.)
STEP 3. Create panels.
- Create an ‘Invocations’ panel. Click Add panel > Add empty panel
Set options:
Panel options > Title =
Invocations
Legend > Legend mode =
Hidden
Standard options > Unit =
requests/sec (rps)
Standard options > Min =
0
Add queries:
sum(increase(faas_executions_total{faas_name="$faas_name"}[1m])) OR on() vector(0)
Create a ‘Durations’ panel (per invocation). Click Add panel > Add empty panel
Set options:
Panel options → Title =
Durations (per invocation)
Standard options → Unit =
milliseconds (ms)
Standard options → Min =
0
Add queries:
sum(increase(faas_init_duration_ms_sum{faas_name="$faas_name"}[1m])) / sum(increase(faas_invoke_duration_ms_count{faas_name="$faas_name"}[1m]))
with Legend =Initialisation duration (averaged over all invocations)
sum(increase(faas_restore_duration_ms_sum{faas_name="$faas_name"}[1m])) / sum(increase(faas_invoke_duration_ms_count{faas_name="$faas_name"}[1m]))
with Legend =Restoration duration (averaged over all invocations)
sum(increase(faas_invoke_duration_ms_sum{faas_name="$faas_name"}[1m])) / sum(increase(faas_invoke_duration_ms_count{faas_name="$faas_name"}[1m]))
with Legend =Average invoke duration
sum(increase(faas_overhead_duration_ms_sum{cx_subsystem_name="lambda-telemetry-test"}[1m])) / sum(increase(faas_invoke_duration_ms_count{cx_subsystem_name="lambda-telemetry-test"}[1m]))
with Legend =Average overhead (runtime after invoke) duration
Create an ‘Errors/Timeouts’ panel. Click Add panel > Add empty panel
Set options:
Panel options > Title =
Errors/Timeouts
Standard options > Unit =
requests/sec (rps)
Standard options > Min =
0
Add queries:
sum(increase(faas_errors_total{faas_name="$faas_name"}[1m])) OR on() vector(0)
with Label =errors
sum(increase(faas_timeouts_total{faas_name="$faas_name"}[1m])) OR on() vector(0)
with Label =timeouts
Create a ‘Memory Consumption’ panel. Click Add panel > Add empty panel
Set options:
Panel options > Title =
Memory Consumption
Standard options > Unit =
megabytes
Standard options > Min =
0
Add queries:
max(faas_mem_usage_MB{faas_name="$faas_name"})
with Label =maximum memory consumption
max(faas_mem_limit_MB{faas_name="$faas_name"})
with Label =available memory
Create a ‘Cold Invocations’ panel. Click Add panel > Add empty panel
Set options:
Panel options > Title =
Cold Invocations
Standard options > Unit =
requests/sec (rps)
Standard options > Min =
0
Add queries:
sum(increase(faas_init_duration_ms_count{faas_name="$faas_name"}[1m]))
with Label =Cold invocations
sum(increase(faas_restore_duration_ms_count{faas_name="$faas_name"}[1m]))
with Label =Restorations
Create an ‘Initialization / Restoration Duration’ panel. Click Add panel > Add empty panel
Set options:
Panel options > Title =
Initialization / Restoration Duration
Standard options > Unit =
milliseconds (ms)
Standard options > Min =
0
Add queries:
sum(increase(faas_init_duration_ms_sum{faas_name="$faas_name"}[1m])) / sum(increase(faas_init_duration_ms_count{faas_name="$faas_name"}[1m]))
with Label =Cold invocations
sum(increase(faas_restore_duration_ms_sum{faas_name="$faas_name"}[1m])) / sum(increase(faas_restore_duration_ms_count{faas_name="$faas_name"}[1m]))
with Label =Average restoration duration
STEP 4. Organize panels.
Click Add panel > Add new row
Set Title:
Cold start
Adjust the panels as displayed in the image below
STEP 5. Enjoy your Lambda Function Dashboard!
Support
Need help?
Our world-class customer success team is available 24/7 to walk you through your setup and answer any questions that may come up.
Contact us via our in-app chat or by emailing [email protected].