Installation
Assumptions
- All pre-installation steps have been completed.
- 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.
- The cluster we will deploy to is running at minimum Kubernetes version 1.19.
- Helm 3 can be configured and used with the cluster.
- The cluster we will deploy to has local storage available (NFS is not supported).
- A Fully Qualified Host Name is available for ingress with a SSL certificate (we only support https to our application UI)
- Images can be pulled from https://harbor.ops.zebrium.com/ or other arrangements can be made to make the images available during install.
- Any prerequisites for your preferred ingress controller have been gathered.
STEP 1: Installing the Helm Chart
- 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>
- Update your Helm chart override.yaml file with the secret from Step 1.
global.imagePullSecret.Name="<SECRET>"
- 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
- 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:
kubectl create namespace zebrium
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:
- Zebrium CLI command
- Kubernetes Log Collector
- 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:
kubectl create namespace zebrium
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.