LogicMonitor creates a service (via LM Service Insight) for each service trace that data is received for (using the mandatory “service” OpenTelemetry configuration value). If you specify a service namespace (an optional configuration flag in the OpenTelemetry spec), it will be added as a property to each auto-created service and a parent service will be created representing this namespace. You may find this useful organizationally where you have applications with multiple underlying services.
For example, you may have an application “ECommerce” with multiple underlying services: “Frontend”, “Cart API”, and “DB”. If the auto-instrumentation for these services is done such that the service name is used for the “service” configuration flag, and “ECommerce” is used for the “service-namespace”, then LogicMonitor will create four things:
- A service named ECommerce representing the whole application
- Three services belonging to the ECommerce service: Frontend, Cart API, and DB
Note that the service names are case-insensitive within LogicMonitor. For each service, the underlying resources that the trace data is associated with, if specified in the trace data (this is optional information per OpenTelemetry), will be specified as service-members.
LogicMonitor automatically creates Services for each unique “service” value in the forwarded traces. For each Service, LogicMonitor automatically monitors four metrics: Duration, ErrorOperationCount, OperationCount, and UniqueOperationCount.
|Duration||The average time taken by all operations within the service.|
|ErrorOperationCount||The number of error operations.|
|OperationCount||The total number of operations within the service.|
|UniqueOperationCount||The number of unique operations within the service.|
For each Service that represents a namespace, LogicMonitor monitors the following aggregated metrics.
|total requests||The total number of requests for all operations in the Services.|
|request rate||The average request rate for all operations in the namespace.|
|total errors||The total number of errors across all operations in the namespace.|
|error rate||The average error rate for all operations in the namespace.|
|average duration||The average duration across all operations in the namespace.|
|max duration||The max duration across all operations in the namespace.|
|95th percentile duration||The 95th percentile duration calculated across all operations in the namespace.|
You can set static or dynamic thresholds on these metrics in the same way as any other metrics within LogicMonitor: globally when defining the DataSource, at the group level, or for a specific resource. We recommend setting dynamic thresholds for Duration and ErrorOperationCount metrics to ensure you are notified of any issues with your applications. See Alerting on Trace data.