webb.ai

Webb.ai is a continuous automated root cause analysis(RCA) platform for Kubernetes. It empowers SREs, devops and engineers to debug application and infrastructure issues in Kubernetes much more efficiently. The Webb.ai RCA functionality includes the following:

  1. track changes made in the Kubernetes cluster
  2. understand the potential impact of changes
  3. establish causality between changes and low level Kubernetes events and changes made by Kubernetes controllers(e.g., HPA, VPA, Keda)
  4. establish relevance between changes and issues through webb.ai’s LLM-based debugging agent

The Webb.ai RCA solution includes:

  • resource collector: agent running in your Kubernetes cluster as a single pod to collect changes, K8s metadata, and events.
  • traffic collector: agent running in your Kubernetes cluster as a DaemonSet that automatically collects telemetry data based on eBPF.
  • web console: web interface that includes the full functionality of webb.ai.

Notes:

  • Webb.ai is currently in early access. After installing the helm chart in your Kubernetes cluster, please sign up at https://app.webb.ai/ to get access to Webb’s web console to get full functionality.
  • DigitalOcean is using Helm v3 to deploy webb.ai to your DOKS cluster.

Please follow the official documentation to read and learn more about webb.ai.

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to install a Kubernetes 1-Click Application. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating webb.ai using the control panel, you can also use the DigitalOcean API. As an example, to create a 3 node DigitalOcean Kubernetes cluster made up of Basic Droplets in the SFO2 region, you can use the following doctl command. You need to authenticate with doctl with your API access token) and replace the $CLUSTER_NAME variable with the chosen name for your cluster in the command below.

doctl kubernetes clusters create --size s-4vcpu-8gb $CLUSTER_NAME --1-clicks webb.ai

Getting Started After Deploying webb.ai

How to Connect to Your Cluster

Follow these instructions to connect to your cluster with kubectl and doctl.

Confirming that Webb.ai is Running

First, check if the Helm installation was successful by running the command below:

helm ls -n webbai

The output should look similar to the following:

NAME            NAMESPACE   REVISION    UPDATED                                 STATUS      CHART               APP VERSION
webbai-agent    webbai      1           2023-10-13 15:52:17.259511 -0700 PDT    deployed    webbai-agent-0.1.5  v0.4.8

The STATUS column value should be deployed.

Next, verify if webb.ai pods are up and running:

kubectl get pods -n webbai

The output should look similar to the following:

NAME                                         READY   STATUS    RESTARTS        AGE
webbai-resource-collector-854bc5b745-r2k74   1/1     Running   0               4d20h
webbai-traffic-collector-fkn9t               1/1     Running   0               4d20h

All pods should be in a READY state with a STATUS of Running.

Tweaking Helm Chart Values

The webb.ai stack provides some custom values to start with. See the values file from the main GitHub repository for more information.

You can inspect all the available options, as well as the default values for the webb.ai Helm chart by running the following command:

helm show values webb.ai/webbai-agent

After customizing the Helm values file (values.yml), you can apply the changes via the helm upgrade command, as shown below:

helm upgrade webbai-agent webb.ai/webbai-agent \
  --namespace webbai \
  --values values.yml

Exploring the webb.ai web console

Please refer to https://github.com/digitalocean/marketplace-kubernetes/blob/master/stacks/webb.ai/README.md#exploring-the-webbai-web-console