MyObservability

Services

Introduction

Applications built upon services the process requests like web requests, web service calls and messaging. One agent detects and names services, organizing them by type, technology and within process groups.

Services monitoring capabilities

In Dynatrace, services are a key component of application monitoring. A service typically represents a set of monitored transactions or requests that share a common purpose, such as a web service or a database query handler. Dynatrace provides deep monitoring and observability into these services across various layers of an application. Here’s what can be monitored under services in Dynatrace:

  1. Service Requests
    • Request Count: Dynatrace tracks the total number of requests handled by a service.
    • Request Latency (Response Time): It monitors how long a service takes to process requests. You can set thresholds to alert if the response time exceeds acceptable limits.
    • Error Rates: Monitors the percentage of requests that result in errors, such as HTTP 4xx or 5xx status codes.
    • Throughput (Requests Per Minute): Measures the number of requests processed by a service over a specific time period.
  2. Service Performance
    • Service Response Time: Dynatrace tracks the average, median, and slowest response times for all service calls.
    • Service Load: Measures the workload of a service, such as concurrent users or transactions.
    • Apdex Scores: This is a user satisfaction metric based on response time thresholds (satisfied, tolerating, frustrated). It helps quantify user experience.
  3. Service Dependencies
    • Upstream and Downstream Dependencies: Dynatrace visualizes how services are connected and interact with one another. This includes seeing which services call others and which databases or external services they depend on.
    • Service Flow: Dynatrace provides an overview of the service flow to show how requests traverse through multiple services in a multi-tier architecture.
  4. Service Error Detection
    • Automatic Error Detection: Dynatrace automatically detects service errors such as exceptions, crashes, and other anomalies. It can identify problematic methods or external calls that are failing.
    • Error Types: Monitors and categorizes errors (e.g., SQL exceptions, HTTP errors, timeout errors) that occur during service execution.
  5. Database and Query Monitoring
    • Database Calls: Tracks database queries made by the service, including execution times and slow queries.
    • SQL Statement Monitoring: Captures specific SQL queries executed by the service and analyzes their performance.
    • Database Load: Measures the impact of a service on the underlying database, such as the number of connections or transactions per second.
  6. External Services
    • Third-Party Service Monitoring: Monitors calls to third-party services, including response times and error rates. For example, tracking API calls to external providers (like Stripe, AWS, etc.).
    • xternal Service Latency: Tracks the latency involved in calling external services to ensure third-party dependencies are not causing performance bottlenecks.
  7. Service Method-Level Monitoring
    • Method Hotspots: Dynatrace provides method-level monitoring, allowing you to identify slow or resource-intensive methods within a service.
    • Method Execution Time: Tracks how long each method or function within a service takes to execute.
    • Failed Method Calls: Captures information on method-level failures, such as thrown exceptions.
  8. Distributed Tracing
    • Request Tracing Across Services: Dynatrace follows a request through multiple services and components using distributed tracing. It shows how long each part of the transaction takes and highlights slow or failing services along the way.
    • Trace Propagation: It tracks request propagation and correlates logs with traces for a full view of service interactions.
  9. Service-Level Monitoring for Microservices
    • Container Monitoring: If the service runs inside containers (e.g., Docker), Dynatrace can track container performance metrics, including CPU, memory, and disk usage.
    • Kubernetes Monitoring: For services running in a Kubernetes cluster, Dynatrace provides in-depth visibility into the health and performance of the services running in pods, along with cluster performance.
  10. Security Monitoring
    • Runtime Vulnerability Detection: Monitors for security vulnerabilities in the service, such as outdated libraries, security misconfigurations, or known CVEs (Common Vulnerabilities and Exposures).
    • Runtime Application Self-Protection (RASP): Monitors for real-time attacks (e.g., SQL injection, cross-site scripting) and automatically mitigates security threats.
  11. Key Requests Monitoring
    • Key Requests: Allows you to designate specific service requests as “key requests,” so they can be monitored more closely. This is useful for business-critical operations or endpoints that need heightened visibility.
    • Service-Level Objective (SLO) Monitoring: Dynatrace allows you to define SLOs for key requests to ensure that the service meets the defined performance or reliability criteria.
  12. Custom Service Monitoring
    • Custom Instrumentation: Allows developers to define custom monitoring logic, instrumenting specific methods or transactions that are critical for their application. This is useful for non-standard applications or edge cases.
  13. Service Dashboards and Alerts
    • Service Health Dashboards: Dynatrace allows you to create custom dashboards for service health, showing performance metrics, request data, dependencies, and error rates.
    • Alerting and Problem Detection: Dynatrace uses AI-powered Davis (its AI engine) to detect anomalies, deviations from baseline performance, and potential service problems. It sends alerts when issues are detected.

Services

Dynatrace detects services several ways

Service Detection

Others Real-time updates are turned off. Processes affected by method parameter request attributes changes need to restarted. If you want to enable real-time updates, please head to the deep monitoring settings.‌

Deep monitoring:

Service naming rules: Naming rules enable you to customize and enhance the default names of your services.

Calculated service metrics: Additionally you might need additional business or technical metrics that are specific to your application. These metrics can be calculated and derived based on a wide variety of available data within the captured trace.

Global request naming rules: Global request naming rules enable you to consolidate multiple requests into a single one across services.

Other Analysis options

Hotspots: shows slow and problematic requests.

Multidimensional analysis views: Creating charts to analyze any combination of request metrics and custom metrics, tables and charts to understand dependencies.

Understand dependencies:

Purepath Distributed Traces

Purepath technology enables oneagent capturing transactions across your technology stack, from the browser down to the code and database level.

Another Distributed Trace Example (With databases):

Select any of the URL/Name/Attribute/Database to see more details like Summary, Timing, Threads, Code level, Logs & Errors

Services (New View)

Distributed Traces:

Trace Details:

Service Analyze:

Get services into Dynatrace:


Next Page:

Main Page: Application & Microservices

Next Page: Service Management

Dynatrace : Main Page