Installation
Assumptions
- All pre-installation steps have been completed.
- Your Kubernetes cluster is running and has appropriate resources available as defined in the pre-installation sizing considerations.
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> --version <VERSION> <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 mulitiple 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 using Outbound Integrations from the settings menu.
Supported outbound notification channels include:
- AppDynamics
- OpsGenie
- OpsRamp
- PagerDuty
- Slack
- Teams (Microsoft)
- VictorOps
- Webhook (with the zebrium_incident payload)
Note: the payload of the zebrium_incident webhook is defined here.
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.