Förderjahr 2023 / Projekt Call #18 / ProjektID: 6872 / Projekt: MONITAUR
Monitoring APIs
API monitoring involves observing and assessing API behaviour to ensure proper functionality. This includes verifying API availability, evaluating its performance, and assuring the system's security.
Why monitoring?
API monitoring is essential for companies relying on digital services to provide smooth operations and user satisfaction, as it simultaneously enhances the API in several aspects.
- Ensures Reliability
Monitoring helps to ensure that APIs are consistently available and capable of receiving, processing, and replying to requests. It is crucial for user satisfaction and service reputation.
- Optimises Performance
Performance issues, like slow response times, degrade the user experience. Monitoring can be used to identify bottlenecks and areas for improvement.
- Detects Security Threats
Suspicious patterns, such as high error rates or unusual request spikes, can indicate malicious activity. API monitoring enables detection of these threats and mitigation of related risks.
- Supports Compliance
Organisations often have regulatory obligations (e.g., GDPR, HIPAA) requiring secure and reliable APIs. Monitoring ensures compliance by detecting anomalies and unauthorised access.
How does monitoring work?
Briefly we can summarise the processes of monitoring as the following steps.
- Sending Requests
Monitoring tools can send automated requests to an API at regular intervals. These requests mimic real-world scenarios to test functionality, performance, and availability. This is often called synthetic monitoring.
- Capturing Live Traffic
Real user monitoring (RUM) gathers information about user interactions with the API to analyse the actual traffic. It involves collecting data from live requests and responses between clients and servers.
- Analysing Data
Once the requests and traffic are captured, the monitoring system evaluates key metrics that represent performance of the application, error occurances, and security incidents.
- Detecting Anomalies
Some monitoring tools use predefined thresholds (e.g., acceptable response times) or machine learning algorithms to identify irregularities, such as spikes in request volume, frequent errors, and significant delays in response time.
- Generating Alerts
When performance deviates from expected behaviour, the monitoring tool generates alerts for the development or operations team. Alerts can be configured based on severity levels, ensuring the team focuses on critical issues first.
- Visualising Metrics
Data from the monitoring system is visualised in dashboards, showing historical trends (e.g., performance improvements or degradations over time), real-time status (e.g., current error rates, active connections), and key performance indicators (KPIs) like uptime percentages.
Monitauring APIs
MONITAUR reinforces the security of APIs based on Machine Learning (ML) solutions. It extends the functionality of open-source monitoring tools with additional metrics, logs, and alerts to detect ML-specific attacks against APIs. New metrics are based on API traffic and calculated using user requests and responses from the ML model. They demonstrate, for instance, the distribution of model responses for detecting anomaly patterns in the model's predictions caused by a user. If suspicious behaviour is repeated or obtained during a certain period of time, MONATAUR raises an alert.
Other tools for ML-based API monitoring
There are several solutions designed specifically for monitoring ML-based applications, such as Fiddler and Arize. However, these solutions are tailored for generative models, primarily Large Language Models (LLMs). Furthermore, they are designed to enhance the performance of ML-based applications. In contrast, MONITAUR is specifically developed to address potential security threats that might affect the confidentiality and integrity of the application.