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 propagate events to the Conductor event stream via the three default channels for metrics, logs and advisories. 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 notification rules ensure that critical metrics issues, high advisories, and error logs are automatically 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 Advisoriesadvisorcriticalall 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

In addition, Conductor Enterprise supports creating custom rules based on the Advisor rules and alerting you when selected advisory is triggered:

TargetNameDescription
clusterHigh Impact AdvisoryOne or more high impact advisories are triggered
clusterMedium Impact AdvisoryOne or more medium impact advisories are triggered
clusterLow Impact AdvisoryOne or more low impact advisories are triggered
clusterApp Health CheckDapr app health checks are not configured
clusterJSON App LogsDapr sidecars not set to JSON-formatted logs
clusterAuthenticate App to DaprApp to Dapr token authentication not configured
clusterAutomount Service Account TokenPod specification has automountServiceAccountToken set to true
clusterRenew mTLS CertificateDapr mTLS certificates close to or past expiration date
clusterComponent ScopesComponent has no scopes defined
clusterComponent Nonexistent ScopesComponent scoped to nonexistent app ID(s)
clusterComponent SecretsComponent metadata contains sensitive information as plain text
clusterBinding ComponentBindings component has no direction defined
clusterControl Plane Debug ModeDapr control plane is in debug mode
clusterJSON Control Plane LogsDapr control plane not set to JSON-formatted logs
clusterControl Plane Log LevelDapr control plane log level is debug
clusterControl Plane Old VersionCurrent Dapr version out of support policy
clusterControl Plane Resource ValuesDapr control plane resource requests and limits not set
clusterControl Plane NonRootDapr control plane runAsNonRoot set to false
clusterControl plane logsDapr control plane deployed in HA mode with on-disk raft logs
clusterAuthenticate Dapr to AppDapr to app token authentication not configured
clusterControl Plane High AvailabilityDapr control plane not deployed in highly available (HA) configuration
clusterHigh Cardinality GrpcClient MetricsHigh cardinality Dapr gRPC client metrics detected
clusterHigh Cardinality GrpcServer MetricsHigh cardinality Dapr gRPC server metrics detected
clusterHigh Cardinality HttpClient MetricsHigh cardinality Dapr HTTP client metrics detected
clusterHigh Cardinality HttpServer MetricsHigh cardinality Dapr HTTP server metrics detected
clusterHigh Cardinality Service Invocation MetricsHigh cardinality Dapr service invocation metrics detected
clusterControl Plane mTLSMutual Authentication (mTLS) is disabled
clusterResource Values OptimizationApplication resource settings optimization advisories
clusterSidecar API LogsSidecar API logging is enabled
clusterSidecar Log LevelSidecar log level is debug
clusterSidecar ProfilingDapr sidecar profiling server is enabled
clusterSidecar Resource ValuesDapr sidecar resource requests and limits not set
clusterOperator WatchdogDapr operator injector watchdog is disabled
clusterSubscription ScopesSubscription has no scopes defined
clusterDapr New ReleaseNew Dapr version available
clusterPub/Sub Topic ScopesPubSub component has no topic scopes defined
clusterHTTPEndpoint ScopesHTTPEndpoint has no scopes defined
clusterDapr Placement Service Force In Memory LogForce in-memory log for Dapr Placement Service in HA deployments
clusterApp Access Control PolicyDapr configuration access control policy not configured
clusterService Invocation Max HTTP Request Header SizeService Invocation maximum HTTP request header size is not configured
clusterDeprecated version of componentComponent version is deprecated

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 notification 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, three 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.
  • A channel to send advisor 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 and metric alerts for the same app so that they only show up hourly in the Notifications Events dashboard. Thus, if there is a log entry or metric alert that is constantly output to the Dapr sidecar, it will only show up once an hour in Conductor. For the advisor alerts, the deduplication period is 24 hours. Therefore, if there is a constant advisor alert, it will only show up once every 24 hours in Conductor.