Link

Installation

Assumptions

  1. All pre-installation steps have been completed.
  2. Your Kubernetes cluster we will deploy to is sized to at least the minimum specification provided in our sizing guideline chart at Zebrium sizing guide for the log volume you plan to test. Click “Show Advanced Info” at the bottom of the sizing guideline chart for more details.
  3. The cluster we will deploy to is running at minimum Kubernetes version 1.19.
  4. Helm 3 can be configured and used with the cluster.
  5. The cluster we will deploy to has local storage available (NFS is not supported).
  6. A Fully Qualified Host Name is available for ingress with a SSL certificate (we only support https to our application UI)
  7. Images can be pulled from https://harbor.ops.zebrium.com/ or other arrangements can be made to make the images available during install.
  8. Any prerequisites for your preferred ingress controller have been gathered.

STEP 1: Installing the Helm Chart

  1. Create a secret using the Harbor repository that was setup for you by Zebrium. Zebrium will provide you with your Harbor USERNAME and PASSWORD.
    kubectl create secret docker-registry regcred --docker-server=harbor.ops.zebrium.com --docker-username=<USERNAME> --docker-password=<PASSWORD> --docker-email=<EMAIL> --namespace <NAMESPACE>
    
  2. Update your Helm chart override.yaml file with the secret from Step 1.
    global.imagePullSecret.Name="<SECRET>"
    
  3. Add the Harbor repo to your Kubernetes cluster
    helm repo add --username <USERNAME> --password <PASSWORD> <REPO_NAME> https://harbor.ops.zebrium.com/chartrepo/onprem
    helm repo update
    
  4. Install the Zebrium On Prem Software
    helm upgrade <RELEASE_NAME> -i --namespace <NAMESPACE>  <REPO_NAME>/zebrium-onprem -f <override.yaml>
    

STEP 2: Configuring Your Account

Zebrium On Prem currently supports a single account where all data will be ingested. This account can have multiple users/logins.

Create your account and the first user

THIS MUST BE DONE ONCE-ONLY!

  • Navigate to: <Your UI URL>/auth/sign-up
  • Complete the form click the right arrow to continue.

Invite other Users to your Account

  • Navigate to the User Management tab from the settings menu
  • Click on Add User and complete the form

STEP 3: Configuring Outbound Notifications

If you would like Root Cause report notifications to be sent to a destination other than the Slack webhook defined in your Helm chart, you can configure additional notification channels visiting the the Integrations from the settings menu.

STEP 4: Configuring AutoSupport (optional)

When you register for Zebrium On Prem, Zebrium will provide a secure auth token that can be used to send logs from the Zebrium On Prem software to Zebrium for remote monitoring (akin to Zebrium AutoSupport).

Note: Installing the Zebrium Kubernetes Log Collector will send logs from all namespaces in your Kubernetes cluster.

The log collector is deployed as a Kubernetes Helm chart as follows:

  1. kubectl create namespace zebrium
  2. helm install zlog-collector zlog-collector --namespace zebrium --repo https://raw.githubusercontent.com/zebrium/ze-kubernetes-collector/master/charts --set zebrium.collectorUrl=https://zapi03.zebrium.com,zebrium.authToken=AUTH_TOKEN_FROM_ZEBRIUM,zebrium.timezone=KUBERNETES_HOST_TIMEZONE

STEP 5: Ingesting data into your Zebrium On Prem instance

There are three supported methods to ingest data into Zebrium On Prem using your ZAPI Token and Endpoint:

  1. Zebrium CLI command
  2. Kubernetes Log Collector
  3. Elastic integration using Logstash

Obtaining your ZAPI Token and Endpoint

Instructions and commands for sending data to your OnPrem instance is available under Log Collector in the settings menu.

Failure Domain Boundary

Because Zebrium On Prem currently supports a single account with only one deployment, if you intend to ingest data from unrelated services/applications it is important to specify the ze_deployment_name label which essentially defines a failure domain boundary for anomaly correlation.

You will see in the examples provided below, how to specify the ze_deployment_name label for each of the three methods that can be used to ingest data.

Note: The ze_deployment_name must be a single word lowercase characters.

Using the CLI to ingest data

Instructions for downloading, configuring and using the Zebrium CLI are located here.

Here is an example that ingests a Jira log file into the atlassian failure domain (ze_deployment_name):

~/zapi/bin/ze up --file=jira.log --log=jira --ids=zid_host=jiraserver,ze_deployment_name=atlassian --auth=97453627rDGSDE67FDCA77BCE44 --url=http://34.72.193.228:443

Using the Kubernetes Log Collector to ingest data

If your application to be "monitored" is Kubernetes-based, this is the preferred method for sending logs to Zebrium On Prem.

The log collector is deployed as a Kubernetes Helm chart as follows:

  1. kubectl create namespace zebrium
  2. helm install zlog-collector zlog-collector --namespace zebrium --repo https://raw.githubusercontent.com/zebrium/ze-kubernetes-collector/master/charts --set zebrium.collectorUrl=http://ZAPI_ENDPOINT:443,zebrium.authToken=ZAPI_TOKEN,zebrium.deployment=ZE_DEPLOYMENT_NAME,zebrium.timezone=KUBERNETES_HOST_TIMEZONE

Note: Remember to substitute ZAPI_ENDPOINT, ZAPI_TOKEN and ZE_DEPLOYMENT_NAME

Using Logstash to ingest data

Instructions for configuring this integration are located here.

Note: Please contact Zebrium Support for assistance with configuration.