Skip to main content

Notifications

Notifications in Conductor help proactively detect potential issues with a cluster's Dapr installation and Dapr-enabled apps by continuously evaluating signals of interest from the monitoring and logging system.

By default, Conductor provides a set of notification rules, which when triggered, will propogate events to the Conductor event stream via the two default channels for metrics and logs. In Conductor Enterprise, custom notifications can be configured and delivered by creating the following:

  • Rules: Define the criteria and conditions for triggering events of specific severities.
  • Channels: Act as subscribers connecting the events generated by a rule with an event consumption channel such as the Conductor UI, email, or webhook.

Notification rules

A notification rule will continuously monitor Dapr-enabled app and sidecar telemetry and Dapr log signals to evaluate whether to fire a notification with a specific severity.

Rules are composed of the following:

  • Alert type: The category of data to act on (metrics, logs or advisor)
  • Target type: The target resource to monitor (cluster, application, component)
  • Severity: The severity of the event triggered by the rule (critical or warning)
  • Name: A descriptive name that helps identify the rule
  • Conditions: The conditions which will trigger the rule to fire an event based on the alert type selected

When you create a new organization in Conductor, you get a default set of notification rules and channels set up out of the box. These notication rules are created to ensure critical metrics issues, high advisories, and log warnings are easily surfaced.

Default rules

defaults

NameTypeSeverityTargetConditions
Default App Crashmetricscriticalall appsApp container in CrashLoopBackOff state for > 2 minutes
Default Dapr Crashmetricscriticalall appsDapr sidecar (Daprd) in CrashLoopBackOff state for > 2 minutes
Default App to Dapr HTTP Error Ratemetricscriticalall apps> 30% for > 2m
Default App to Dapr gRPC Error Ratemetricscriticalall apps> 30% for > 2m
Default Dapr to App HTTP Error Ratemetricscriticalall apps> 30% for > 2m
Default Dapr to App gRPC Error Ratemetricscriticalall apps> 30% for > 2m
Default Component Error Ratemetricscriticalall components> 30% for > 2m
Default Dapr Operator Unavailablemetricscriticalall clusters> 30% for > 2m
Default Dapr Sentry Unavailablemetricscriticalall clusters0 sentry pods in Running status > 2m
Default Dapr Placement Unavailablemetricscriticalall clusters0 placement pods Running status > 2m
Default Dapr Sidecar Injector Unavailablemetricscriticalall clusters0 injector pods Running status > 2m
Default Dapr Sentry Root Cert Expirymetricscriticalall clustersDapr Cert detected to expire in < 10d
Default High Impact Advisoriesmetricscriticalall clustersAny advisories with severity high present for > 15m
Default Logslogswarningall clustersAny Daprd logs with level fatal, error, or warning

Custom Rules

Conductor Enterprise supports creating custom rules using the metrics below:

TargetNameDescription
clusterDapr Control Plane CPU UsageThe CPU usage of the Dapr control plane services
clusterDapr Control Plane Memory UsageThe memory usage of the Dapr control plane services
clusterDapr Sentry Root Cert ExpiryThe remaining time until the Dapr sentry root certificate expires
applicationApp to Dapr HTTP Latency 95th PercentileThe 95th percentile latency of HTTP requests to the Dapr API
applicationApp to Dapr HTTP RPSThe number of HTTP requests per second to the Dapr API
applicationApp to Dapr HTTP Error RateThe error rate of HTTP requests to the Dapr API
applicationDapr to App HTTP Latency 95th PercentileThe 95th percentile latency of HTTP requests from Dapr
applicationDapr to App HTTP RPSThe number of HTTP requests per second from Dapr
applicationDapr to App HTTP Error RateThe error rate of HTTP requests from Dapr
applicationApp to Dapr gRPC Latency 95th PercentileThe 95th percentile latency of gRPC requests to the Dapr API
applicationApp to Dapr gRPC RPSThe number of gRPC requests per second to the Dapr API
applicationApp to Dapr gRPC Error RateThe error rate of gRPC requests to the Dapr API
applicationDapr to App gRPC Latency 95th PercentileThe 95th percentile latency of gRPC requests from Dapr
applicationDapr to App gRPC RPSThe number of gRPC requests per second from Dapr
applicationDapr to App gRPC Error RateThe error rate of gRPC requests from Dapr
applicationApp CPU UsageThe CPU usage of the app
applicationApp Memory UsageThe memory usage of the app
applicationDapr CPU UsageThe CPU usage of the Dapr sidecar
applicationDapr Memory UsageThe memory usage of the Dapr sidecar
applicationApp Container Restart CountThe restart count of the app container
applicationDapr Sidecar Container Restart CountThe restart count of the Dapr sidecar container
applicationApp Container Restart CountThe restart count of the app container
applicationDapr Sidecar Container Crash StatusThe crash status of the Dapr sidecar container
applicationApp Container Crash StatusThe crash status of the app container
componentApp Component RPSThe number of requests per second made to components by the app
componentApp Component Latency 95 PercentileThe 95th percentile latency of requests made to components by the app
componentApp Component Error RateThe error rate of requests made to components by an app

Notification channels

Notification channels are the subscribers that receive notifications fired by the rules. All notifications with a matching target and severity will be forwarded to the destination specified in the channel.

Channels are composed of the following:

  • Channel ID: An auto-generated, unique identifier for a specific channel
  • Alert type: The category of nofication events to deliver (metrics, logs or advisor)
  • Severities: The severity level(s) which should be delivered upon firing
  • Target clusters: The clusters in which this notification will be active
  • Destination: The delivery target where the matching events will be sent

Default channels

By default, two notification channels are created in an organization:

  • A channel to send metrics events of severity warning and critical to the Conductor events dashboard.
  • A channel to send logs events of severity warning and critical to the Conductor events dashboard.

default channels

Note

Conductor Free only provides support for the default channels. To create custom notification channels, use Conductor Enterprise.

Notification events

Conductor provides a dashboard that displays all notifications sent to the Conductor channel across all connected clusters. The dashboard allows filtering on:

  • Type - logs, metrics, or advisor event type.
  • Log Level - filter based on log levels error, warning and fatal. Filter only applies to log event types.
  • Time Span - filter events that occur in the last X hours or X days.
  • Metric Severity - filter based on severity values critical and warning. Filter only applies to metrics and advisor event types.
  • Cluster - events from a specific cluster.
  • Namespace - events from a specific cluster namespace.
  • Dapr Application Id - events from a specific application specified by its Dapr App ID.
  • Message - performs a fuzzy text-based search of the Message field of events.

Clicking on a notification entry brings up the details panel for viewing the full notification details and navigating to the source cluster, application or component that generated the event.

Important

Conductor automatically deduplicates repeat log entries for the same app so that they only show up hourly in the Notifications Events dashboard. Thus, if there is a log entry that is constantly output to the Dapr sidecar it will only show up once an hour in Conductor.