Use Cases for Push Metrics

Last updated on 30 June, 2021

As computing architecture evolves into more ephemeral, transient, and stateless instances, the ability to bypass Collectors and push data directly to the LogicMonitor platform for ingestion is vital. A few prominent broad use cases for Push Metrics include:

  • Serverless computing services monitoring. Serverless computing services such as AWS Lambda are well suited for the push model of data ingestion.
  • Custom metric monitoring. The Push Metrics REST API can report the data from the application; without the need to define or configure external entities. The push Metrics REST API helps monitor health metrics in a DevOps environment (for example, CI/CD pipeline metrics, autoscaling application metrics, and so on) and business metrics such as the number of new orders.
  • Transient resource monitoring. Many of today’s computing instances are transient (for example, containers, batch jobs, services running as a cluster, scripts, cron jobs, and so on). Instance locations, time to live (TTL), and other attributes are transactional. Typically, these instances are also stateless and do not have any historical information about themselves. Pulling data from these transient resources using traditional resource monitoring methods is a complex undertaking; pushing the data, on the other hand, is a very efficient monitoring model.

The following table lists some use case categories for the various types of metrics that you may want to send directly to LogicMonitor.

Use CaseMetrics
Applications running on transient compute
Container/VM supporting autoscaling
– Number of API calls served by an application running within the container
From within the application running within a
container, intercept the API calls and report
periodically.

– Resource utilization by application
From within the application running within a
container, intercept the API calls and report
periodically
Custom business metrics
Push business metrics for business service (running on multiple hosts/containers). Agnostic to the language of the business application.
– Number of new orders
– Number of orders shipped
– Purchase rate
IoT devices– Temperature
– Production count
– Device availability
Serverless computing services
AWS Lambda
– Number of times Lambda functions are invoked per minute
From within the function that has been invoked, send the data on each invocation

– Processing time/lifetime of Lambda instance
Compute the time taken to serve the request and send it before terminating the called function
Synthetic monitoring– Availability
– Response
– Errors
Ticket management systems
Using Jira as an example, as tickets are created by various stakeholders, JIRA REST APIs can be used to collect custom data about the tickets which can then be sent to LogicMonitor.
– Number of new tickets
– Number of tickets closed
– Number of tickets created for priority stakeholders
Transient systems
Lambda functions are invoked on events performed by AWS services such as S3, DynamoDB, Kinesis, SNS, and CloudWatch. Invocation is purely random and the code executed is stateless on each invocation; hence only instant data can be reported.
– Cron job
Number of tasks processed

– Script
– Status of the script execution launched for either
sending events, remote action, or creating tickets
– Parse logs and send metrics

– Script for OS monitoring of CPU usage, memory usage, disk I/O, network usage
– Infrastructure in use by each container and overall
across all containers
– Use a PowerShell script or executable to collect
the data and send it periodically to LogicMonitor
– Exporter plug-in for OpenTelemetry, Nagios, or
other technology could also be used
Web applications
Gather business metrics on a separate thread and report the data to LogicMonitor via that thread.
– Number of website hits
– Time taken to serve a request
– Concurrent sessions