/viya4-monitoring-kubernetes

Provides simple scripts and customization options to deploy monitoring, alerts, and log aggregation for Viya 4.0.1 running on Kubernetes

Primary LanguageShellApache License 2.0Apache-2.0

SAS® Viya® Monitoring for Kubernetes

SAS® Viya® Monitoring for Kubernetes provides simple scripts and customization options to deploy monitoring, alerts, and log aggregation for SAS Viya 4.x.

Monitoring and logging may be deployed independently or together. There are no hard dependencies between the two.

Monitoring - Metrics and Alerts

The monitoring solution includes these components:

This is an example of a Grafana dashboard for cluster monitoring. Grafana - Cluster Monitoring

This is an example of a Grafana dashboard for SAS CAS monitoring. Grafana - SAS CAS Monitoring

See the documentation at SAS Viya: Monitoring for more information about using the monitoring components.

Logging - Aggregation, Searching, & Filtering

The logging solution includes these components:

See the documentation at SAS Viya: Logging for more information about using the logging components.

Prerequisites

  • A Kubernetes cluster that meets the prerequisites for SAS Viya
  • Helm version 3.x
  • kubectl with cluster-admin access

Installation

Monitoring

See the monitoring README to deploy the monitoring components, including Prometheus Operator, Prometheus, Alertmanager, Grafana, metric exporters, service monitors, and custom dashboards.

Logging

See the logging README to deploy the logging components, including Fluent Bit, Elasticsearch, and Kibana.

Miscellaneous

Customization

The components that are deployed are highly customizable. The recommended approach for customization is to set a USER_DIR environment variable. USER_DIR points to a directory containing user-modified customization files which can exist outside of your repository. You can use customization files to check in environment-specific customizations into a separate Git repository, for example.

USER_DIR must refer to a directory. The directory can include any or all of the following files in the structure below. Additional content is allowed, but will be ignored.

- user.env
- [monitoring]
  - user.env
  - user-values-prom-operator.yaml
  - user-values-pushgateway.yaml
- [logging]
  - user.env
  - user-values-elasticsearch-open.yaml
  - user-values-es-exporter.yaml
  - user-values-fluent-bit-open.yaml

Default StorageClass

The default cluster StorageClass is used for both monitoring and logging unless the value is specifically set in user-*.yaml files for monitoring or logging. The deployment scripts issue a warning if no default StorageClass is available, even if the value is properly set by the user. In this case, you can safely ignore the warning.