# Azure Cloud Service Metric Integration

Kloudfuse integrates with the Azure cloud service to receive metrics through the Datadog agent. It automatically pulls metrics from your Azure subscriptions, without requiring any additional configuration on the Azure portal.

## Enable the Cloud Exporter

To configure sending the metrics to Azure, enable `cloud-exporter` in the global section of the `custom-values.yaml` file.

```yaml
global:
  cloud-exporter:
    enabled: true
```

## Create ClientID, ClientSecret, TenantID, and Subscription

See [Azure Integration Manual Setup Guide](https://docs.datadoghq.com/integrations/guide/azure-manual-setup/?tab=manual#creating-the-app-registration).

## Specify Secret and Subscription Information in the Cloud Exporter

Under `kfuse-cloud-exporter`, add the following code, replacing the redacted values with your actual values from Azure portal.

Because you can fetch metrics from multiple subscriptions in Azure at the same time, list all your subscriptions in the `subscriptions` section.

```yaml
kfuse-cloud-exporter:
  azure-metrics-exporter:
    enabled: true
    subscriptions:
      - xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      - xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    secrets:
      AZURE_CLIENT_ID: "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      AZURE_TENANT_ID: "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
      AZURE_CLIENT_SECRET: "xxxx~xxxxxx"
```

Alternatively, you can mount authentication information from a `secret` instead of adding it in plain text in the `custom-values.yaml` file. In this case, added the following:

```yaml
kfuse-cloud-exporter:
  azure-metrics-exporter:
    enabled: true
    subscriptions:
      - xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    extraEnv:
      - name: AZURE_CLIENT_ID
        valueFrom:
          secretKeyRef:
            key: AZURE_CLIENT_ID
            name: <Secret-name>
      - name: AZURE_TENANT_ID
        valueFrom:
          secretKeyRef:
            key: AZURE_TENANT_ID
            name: <Secret-name>
      - name: AZURE_CLIENT_SECRET
        valueFrom:
          secretKeyRef:
            key: AZURE_CLIENT_SECRET
            name: <Secret-name>
```

The `secret` must contain these key-value pairs:

```yaml
data:
 AZURE_CLIENT_ID: "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
 AZURE_TENANT_ID: "xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
 AZURE_CLIENT_SECRET: "xxxx~xxxxxx"
```
