Azure Infrastructure: Monitoring RedCap Resources
- Azure monitor & Azure Application Insights are both powerful monitoring solutions that have their own sets of capabilities and focus areas.
- While the metrics they monitor overlap, Application insight is specially designed for application performance monitoring, whereas Azure monitor provides broader infrastructure Platform level monitoring.
- It is to be noted that application Insights is a feature Azure monitor.
- Application insights focuses primarily on application-level telemetry data.
Cost of monitoring:
- For Application Insights, you are charged based on the volume of telemetry data ingested.
- i.e., Metrics, traces, exceptions & custom event sent by applications.
- In Applications Insights, longer retention periods may result in higher storage costs. Data storage is charged based on the amount of data retained beyond the free tier.
- Azure Monitor offers basic monitoring capabilities for Azure resources at no additional cost.
o Every subscription comes with a free basic monitoring.
App Services
- Application hosted within Azure’s App Services can be monitored using Application Insights.
- Insights also monitors various metrics together with telemetry data from Azure Web Apps to provide insights into application performance, availability, and usage.
Application Insights Metrics:
Request Count
- Request Count: Number of HTTP requests processed by the web app.
- Request Time: Average time taken to process HHTP request.
Performance Metrics:
- Server Response Time: Time taken by the server to generate a response to client requests.
- Client-Side Performance: Metrics related to client-side performance, such as page load time & network latency.
- Dependency Calls: Metrics related to calls to external dependencies such as database queries, HTTP call.
User Interaction Metrics:
- User Sessions: Number of User Sessions and active users interacting with the web app.
- User Flows: Visualization of User journeys & path though webapp.
- User retention: Metrics related to user engagement, retention rates & session durations.
Exception Tracking: - Exception Count: Number of exception and errors thrown by application
Free Azure Monitor Metrices: - HTTP server Response Time: Measures the time taken to process HTTP requests Served by the App services.
- HTTP Server Errors: Tracks the number of HTTP Server errors returned by the app services.
- CPU Percentage: Monitors the CPU utilization of the app service instance.
Azure MySQL Database - In addition to app services, Application insight can also be used to monitor Azure MySQL.
- Application Insight can be used to monitor database performance, server, and query performance.
Application Insights Metrics:
Performance Metric: - Query Execution Time: Measures the time taken to execute SQL queries on the database.
- Database Throughput: Measures the number of transportations processed per unit of time.
- Slow Queries: Identifies and logs SQL queries with long execution times.
- Query Execution Plans: Provides insights into the execution plans of SQL queries, helping to optimize query performance.
- Index utilization: Table and index fragmentation tells us when to rebuild or reorganize the index.
Error and Exception Monitoring: - Query Errors: Tracks errors and exceptions encountered during SQL Query Execution
- Database Timeout Errors: Monitors timeouts during database operations
- Deadlocks: Detects & logs deadlocks that occur between transactions
Connection Monitoring: - Connection Pool Usage: Monitors the utilization of database connection pools within the application.
- Connection errors: Tracks errors related to failed database connections or connectivity issues.
Free Azure Monitor Metrices: - CPU Usage, Memory Utilization, Storage utilization, connection counts, query Execution Time & error counts.
Resource Utilization Metrics: - CPU utilization: Monitors CPU usage of the database server.
- Memory Utilization: Tracks the memory consumption of the Database server.
- Storage Utilization: Measure the amount of storage used by the database.
Azure Application Gateway:
- Application Insights can be used to monitor the Azure App gateway load balancer.
Application Insight Metrics: - End-To-End Request Tracing:
o Trace requests as they flow through the entire application stack including the azure application gateway, backend services & client-side components. - User session & behavior Analytics:
- Tracks user sessions and interaction with the application served through the application gateway.
- Live Metrics Stream:
- View real time telemetry data such as Request rates, response times, error rates and a livestream dashboard.
Free Azure Monitor Metrices:
- View real time telemetry data such as Request rates, response times, error rates and a livestream dashboard.
- Throughput:
- Incoming and outgoing data throughput: Measures the amount of network traffic processing by the application gateway.
- Request Count: Tracks the number of requests received by the application gateway.
- HTTP status Codes: Monitors the distribution of HTTP status codes returned by app gateway i.e., 200, 300, 400 etc.
- Backend Health: Tracks the number of unhealthy & healthy Backend instance.
Azure Storage Account:
Application Insight Metrices
- Storage Transactions:
- Number of reads & write operations performed on Azure blob storage, tables & queues.
- Storage latency:
- Avg, max, min latency for read & write transactions to Azure storage.
- Blob metrices.
- Number of Blobs accessed, created, or modified.
- Blob storage Analytics:
- Metrics for blob storage analytics, including storage capacity, request statistics and service latency.
- Logging metrics for blob storage access & operations.
- Custom metrics & logs:
- Log data from Azure storage diagnostics logs including detailed information about storage operations, errors & access patterns.
Free Azure Monitor Metrices:
- Log data from Azure storage diagnostics logs including detailed information about storage operations, errors & access patterns.
- Ingres/Egres metrics:
- Total incoming & outgoing Data volumes: tracks the amount of data transferred to and from Azure storage accounts.
- Ingress & egress data rate.
- Storage Transactions:
- Number of reads & write operations performed on Azure blob storage, tables & queues.