Skip to content

Commit 45ba36b

Browse files
Merge pull request #313956 from vadim-kovalyov/patch-7
Add deployment instructions for observability resources script
2 parents f361ec7 + f237cc0 commit 45ba36b

1 file changed

Lines changed: 44 additions & 1 deletion

File tree

articles/iot-operations/configure-observability-monitoring/howto-configure-observability.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.date: 01/27/2026
1313

1414
Azure IoT Operations observability provides visibility into every layer of your configuration and gives you insight into the actual behavior of issues, which increases the effectiveness of site reliability engineering. Azure IoT Operations offers observability through custom curated Grafana dashboards hosted in Azure, powered by Azure Monitor managed service for Prometheus and Container Insights.
1515

16-
This article shows you how to deploy Azure IoT Operations observability resources, set up Azure Managed Prometheus and Grafana, and enable comprehensive monitoring for your Azure Arc cluster.
16+
This article shows you how to deploy Azure IoT Operations observability resources, set up Azure Managed Prometheus and Grafana, and enable comprehensive monitoring for your Azure Arc cluster. You can deploy all observability resources using an [automated script](#deploy-with-the-automated-script), or follow the [manual steps](#create-resources-in-azure) for a customized setup.
1717

1818
## Prerequisites
1919

@@ -22,6 +22,49 @@ This article shows you how to deploy Azure IoT Operations observability resource
2222
* Helm installed on your cluster machine. For instructions, see [Install Helm](https://helm.sh/docs/intro/install/).
2323
* Kubectl installed on your cluster machine. For instructions, see [Install Kubernetes tools](https://kubernetes.io/docs/tasks/tools/).
2424

25+
## Deploy with the automated script
26+
27+
To set up all observability resources in a single step, use the automated [deploy-observability-resources.sh](https://github.com/Azure/azure-iot-operations/blob/main/scripts/observability/deploy-observability-resources.sh) script. The script automates the steps in this article, from [creating Azure resources](#create-resources-in-azure) through [setting up the observability configuration](#set-up-observability-configuration). You can run the script multiple times safely. It skips resources that already exist and updates resources that need changes.
28+
29+
1. Download the script:
30+
31+
```bash
32+
curl -fsSL -o deploy-observability-resources.sh \
33+
https://raw.githubusercontent.com/Azure/azure-iot-operations/main/scripts/observability/deploy-observability-resources.sh
34+
chmod +x deploy-observability-resources.sh
35+
```
36+
37+
1. Set the required environment variables and run the script:
38+
39+
```bash
40+
export RESOURCE_GROUP=<RESOURCE_GROUP>
41+
export CLUSTER_NAME=<CLUSTER_NAME>
42+
export INSTANCE_NAME=<INSTANCE_NAME>
43+
export WORKSPACE_NAME=<WORKSPACE_NAME>
44+
export GRAFANA_NAME=<GRAFANA_NAME>
45+
export LOGS_WORKSPACE_NAME=<LOGS_WORKSPACE_NAME>
46+
export LOCATION=<LOCATION>
47+
48+
./deploy-observability-resources.sh
49+
```
50+
51+
Set `LOCATION` to the Azure region for provisioning new resources. If all resources already exist, `LOCATION` is optional.
52+
53+
| Variable | Description |
54+
| -------- | ----------- |
55+
| `RESOURCE_GROUP` | Azure resource group for your Azure IoT Operations and monitoring resources. |
56+
| `CLUSTER_NAME` | Name of the Arc-enabled Kubernetes cluster where Azure IoT Operations is deployed. |
57+
| `INSTANCE_NAME` | Name of the Azure IoT Operations instance to configure. |
58+
| `WORKSPACE_NAME` | Name for the Azure Monitor workspace (created if it doesn't exist). |
59+
| `GRAFANA_NAME` | Name for the Azure Managed Grafana instance (created if it doesn't exist). |
60+
| `LOGS_WORKSPACE_NAME` | Name for the Log Analytics workspace (created if it doesn't exist). |
61+
| `LOCATION` | Azure region for new resources. Optional if all resources already exist. |
62+
63+
After the script completes, continue to [Deploy dashboards to Grafana](#deploy-dashboards-to-grafana) to import the curated dashboards.
64+
65+
> [!NOTE]
66+
> If you need more control over individual steps, for example, to customize the OpenTelemetry Collector configuration or reuse existing monitoring resources, follow the manual steps in the rest of this article instead of using the script.
67+
2568
## Create resources in Azure
2669

2770
1. Register providers with the subscription where your cluster is located.

0 commit comments

Comments
 (0)