Skip to main content

Azure Quickstart Guide

This quickstart guide will help you get Causely up and running on Azure. This setup deploys Causely in your Kubernetes cluster (including AKS) with eBPF instrumentation enabled, and connects it to your Azure subscription to monitor cloud resources.

1

Get Your Installation Command

  1. Log in to the Causely portal.
  2. Visit the mediators page.
  3. Click the "Add new" button (or "Add ➕" button) on the mediators page.
  4. In the instructions panel, you'll see the Helm installation command with your access token pre-filled.
  5. Copy the complete Helm command. It will look similar to the example below.
Example Command

The command you copy will include your specific access token and cluster name. Here's what it typically looks like:

export CAUSELY_TOKEN=<your_token>
export CAUSELY_CLUSTER_NAME=<your_cluster_name>
export CAUSELY_VERSION=<version>
helm upgrade --install causely \\
--create-namespace oci://us-docker.pkg.dev/public-causely/public/causely \\
--version "${CAUSELY_VERSION}" \\
--namespace=causely \\
--set image.tag="${CAUSELY_VERSION}" \\
--set global.cluster_name="\${CAUSELY_CLUSTER_NAME}" \\
--set mediator.gateway.token="\${CAUSELY_TOKEN}"
Screenshot Placeholder

Screenshots of the mediators page, "Add new" button, and instructions panel will be added here.

4

Run the Installation Command

  1. Open a terminal with kubectl configured to access your Kubernetes cluster.
  2. Paste and run the Helm command you copied from the portal.
  3. Wait for the installation to complete:
kubectl wait --for=condition=Ready pod -l app.kubernetes.io/part-of=causely -n causely --timeout=300s
info

By default, Causely will use eBPF-based instrumentation to automatically instrument your applications running in Kubernetes. This provides zero-effort observability without code changes.

5

Connect Your Azure Subscription

Now you need to configure Causely to monitor your Azure resources. You'll need a Service Principal (SPN) with Reader permissions on the subscriptions you want to monitor.

Step 5a: Create a Service Principal

Use the Azure CLI to create a Service Principal:

az ad sp create-for-rbac --name causely-spn --role reader --scopes /subscriptions/<your_subscription_id>

This will output credentials including tenantId, clientId, clientSecret, and subscriptionId.

Step 5b: Create a Kubernetes Secret

Save the Service Principal credentials in a Kubernetes Secret:

kubectl --namespace causely create secret generic spn-credentials \
--from-literal=tenantId="<your_tenant_id>" \
--from-literal=clientId="<your_client_id>" \
--from-literal=clientSecret="<your_client_secret>" \
--from-literal=subscriptionId="<your_subscription_id>"

Step 5c: Update Causely Configuration

Update your causely-values.yaml to enable Azure scraping. You can enable different Azure resource types:

global:
cluster_name: <your_cluster_name>
mediator:
gateway:
token: <your_token>
scrapers:
azure: # Scrape VMs & Disks
enabled: true
subscriptions:
- secretName: spn-credentials
namespace: causely

azurePostgres: # Scrape PostgreSQL Databases
enabled: true
subscriptions:
- secretName: spn-credentials
namespace: causely

azureMysql: # Scrape MySQL Databases
enabled: true
subscriptions:
- secretName: spn-credentials
namespace: causely

azureRedis: # Scrape Redis
enabled: true
subscriptions:
- secretName: spn-credentials
namespace: causely

azureEventhub: # Scrape EventHub
enabled: true
subscriptions:
- secretName: spn-credentials
namespace: causely

Then upgrade your installation:

helm upgrade --install causely \\
--namespace=causely \\
--values causely-values.yaml \\
oci://us-docker.pkg.dev/public-causely/public/causely \\
--version "${CAUSELY_VERSION}"
Alternative: Credentials Autodiscovery

You can also use credentials autodiscovery by labeling the secret for each scraper:

# Azure VMs & Disks
kubectl --namespace causely label secret spn-credentials "causely.ai/scraper=Azure"

# Azure PostgreSQL
kubectl --namespace causely label secret spn-credentials "causely.ai/scraper=AzurePostgres"

# Azure MySQL
kubectl --namespace causely label secret spn-credentials "causely.ai/scraper=AzureMysql"

# Azure Redis
kubectl --namespace causely label secret spn-credentials "causely.ai/scraper=AzureRedis"

# Azure EventHub
kubectl --namespace causely label secret spn-credentials "causely.ai/scraper=AzureEventHub"

This allows you to add new accounts without editing the configuration. See the Azure integration documentation for more details.

6

What to Expect

Once configured, Causely will:

  • Monitor Kubernetes services: Using eBPF instrumentation, Causely automatically discovers and monitors services running in your Kubernetes cluster.

  • Monitor Azure resources: Causely will discover and monitor Azure resources including:

    • Virtual Machines and Disks
    • Azure PostgreSQL and MySQL databases
    • Azure Redis
    • Azure EventHub
    • And more
  • Unified view: Causely creates a unified topology showing relationships between your Kubernetes services and Azure resources.

  • Show data in the UI: Within a few minutes, you should start seeing entities appearing in the Causely UI at https://portal.causely.app.

7

Add More Telemetry Sources

To help Causely identify root causes more effectively, connect additional telemetry sources. Visit the Telemetry Sources page to learn about the data sources that Causely supports, including:

8

Add Workflow Integrations

Push insights into your existing workflows and notification tools. Visit the Workflow Integrations page to set up integrations with:

9

What's Your Goal?

What's your goal?

Accelerate resolution

Get precise root cause insights during incidents to resolve issues faster.

Proactively prevent incidents

Identify emerging risks before they impact your services and SLOs.

Understand system behavior

Gain deep insights into why your systems behave the way they do.

Scale reliability

Maintain reliability across complex, fast-changing systems at scale.

Optimize performance

Continuously improve system performance with actionable insights.

Other Platforms Supported

While this quickstart guide focuses on Kubernetes, Causely also supports:

  • Container Orchestration: Nomad, Docker, ECS
  • GitOps: Argo CD, Flux
  • Virtual Machines: Direct installation on VMs

For detailed installation instructions for these platforms, visit the Installation Overview page.