Install

Prerequisites

The following must be installed before installing the Notifications App:

Install

Important

Notifications 1.0.1 requires Obcerv Platform version 1.3.1.

To install the Notifications app, you must first create a Helm values file with the appropriate configuration parameters for your environment.

Create a file, such as notifications.yaml with content similar to the following:

externalHostname: www.obcerv.local
ingress:
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.org/mergeable-ingress-type: "minion"

For advanced configuration options, see Advanced configuration.

Install using Helm:

helm install -f notifications.yaml obcerv-app-notifications \
itrs/obcerv-app-notifications \
--version 1.0.1 -n <namespace> --wait

Uninstall

helm uninstall obcerv-app-notifications -n <namespace>

Upgrade

To upgrade the app, first uninstall and then install it again using the new version.

Self-monitoring

You can import this pre-configured dashboard to your Obcerv instance to monitor the health and general state of the app.

Advanced Configuration

All the following installation parameters are optional. In most instances the defaults are sufficient, so you should not need to change anything.

notifier:
  image:
    repository: /obcerv/app/obcerv-app-notifications-notifier-daemon

  # Defines how long to wait until evicting triggered entities from the Notifier's internal
  # cache. An entity is removed if:
  #   1) It's severity has been cleared for the supplied duration
  #   2) It has not been updated for longer than the supplied duration
  #
  # minimum: PT2H
  # default: P1D
  entityTtl: P1D
  
  # How long to wait for the Notifier daemon to shut down
  #
  # minimum: PT5S
  # default: PT30S
  shutdownTimeout: PT30S
  
  # How long to wait for the Notifier to start up
  #
  # minimum: PT5S
  # default: PT30S
  readinessTimeout: PT30S

  # The minimum amount of time between entity updates after which
  # the app assumes the snapshot part of the entity subscription
  # is done.
  #
  # minimum: PT1S
  # default: PT1S
  minEntityUpdateInterval: PT1S

  # How often to evaluate notifications. Should be short enough such that notifications are 
  # sent out as soon as their trigger conditions are met. Should be long enough to allow for
  # evaluation to run in a timely manner.
  #
  # minimum: PT5S
  # default: PT5S
  pollInterval: PT5S

  # Notifications are stored in chunks to optimise performance and reduce the number of
  # round trips to the platform. This setting controlls the maximum size of each chunk
  # expressed in Kibibytes.
  #
  # minimum: 128
  # maximum: 1024
  # default: 1024
  notificationCacheBufferSizeKiB: 1024

  # Notification queue settings.
  queue:
    # Queue settings for Slack notifications
    # The following queue settings are available for all
    # notification integrations but their defaults may differ.
    slack:
      # Sets the maximum number of notifications that can be held in the queue.
      # Any new notifications generated whilst the queue is full will be thrown away.
      #
      # minimum: 100
      # default: 300
      capacity: 300

      # The number of queue consumer threads. Due to Slack's rate limting
      # policies, having more than 1 thread is likely to be problematic so
      # it is recommended to keep this setting as is.
      #
      # minimum: 1
      # default: 1
      numThreads: 1
      
      # Defines how long to wait for an acknowledgement that a notification has been
      # sent.
      #
      # minimum: PT5S
      # default: PT5S
      consumerTimeout: PT5S

      # How long to wait for the queue to gracefully shut down.
      #
      # minimum: PT5S
      # default: PT30S
      shutdownTimeout: PT30S
["Obcerv"] ["User Guide"]

Was this topic helpful?