From c5b6bee4a694eeb6183a447ae496e38dcdaa4dd5 Mon Sep 17 00:00:00 2001 From: Jathavaan Shankarr Date: Tue, 26 May 2026 14:44:43 +0200 Subject: [PATCH] #351 Add Azure Log Analytics integration for ACI containers --- .github/workflows/run-benchmarks.yml | 5 +++++ README.md | 5 +++++ main.py | 4 ++++ src/config.py | 7 +++++++ 4 files changed, 21 insertions(+) diff --git a/.github/workflows/run-benchmarks.yml b/.github/workflows/run-benchmarks.yml index c39d934b..07ec4c91 100644 --- a/.github/workflows/run-benchmarks.yml +++ b/.github/workflows/run-benchmarks.yml @@ -60,6 +60,7 @@ jobs: AZURE_UAMI_RESOURCE_ID: ${{ secrets.AZURE_UAMI_RESOURCE_ID }} AZURE_BLOB_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_BLOB_STORAGE_CONNECTION_STRING }} AZURE_BLOB_STORAGE_ACCOUNT_KEY: ${{ secrets.AZURE_BLOB_STORAGE_ACCOUNT_KEY }} + AZURE_LOG_ANALYTICS_WORKSPACE_KEY: ${{ secrets.AZURE_LOG_ANALYTICS_WORKSPACE_KEY }} POSTGRES_USERNAME: ${{ secrets.POSTGRES_USERNAME }} POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }} DATABRICKS_HOST: ${{ secrets.DATABRICKS_HOST }} @@ -77,16 +78,20 @@ jobs: --assign-identity "$AZURE_UAMI_RESOURCE_ID" \ --registry-login-server ${{ vars.ACR_LOGIN_SERVER }} \ --acr-identity "$AZURE_UAMI_RESOURCE_ID" \ + --log-analytics-workspace ${{ vars.AZURE_LOG_ANALYTICS_WORKSPACE_ID }} \ + --log-analytics-workspace-key "$AZURE_LOG_ANALYTICS_WORKSPACE_KEY" \ --environment-variables \ AZURE_SUBSCRIPTION_ID=${{ vars.AZURE_SUBSCRIPTION_ID }} \ ACR_LOGIN_SERVER=${{ vars.ACR_LOGIN_SERVER }} \ AZURE_BLOB_STORAGE_BENCHMARK_CONTAINER=${{ vars.AZURE_BLOB_STORAGE_BENCHMARK_CONTAINER }} \ AZURE_BLOB_STORAGE_METADATA_CONTAINER=${{ vars.AZURE_BLOB_STORAGE_METADATA_CONTAINER }} \ POSTGRES_SERVER_NAME=${{ vars.POSTGRES_SERVER_NAME }} \ + AZURE_LOG_ANALYTICS_WORKSPACE_ID=${{ vars.AZURE_LOG_ANALYTICS_WORKSPACE_ID }} \ --secure-environment-variables \ "AZURE_UAMI_RESOURCE_ID=$AZURE_UAMI_RESOURCE_ID" \ "AZURE_BLOB_STORAGE_CONNECTION_STRING=$AZURE_BLOB_STORAGE_CONNECTION_STRING" \ "AZURE_BLOB_STORAGE_ACCOUNT_KEY=$AZURE_BLOB_STORAGE_ACCOUNT_KEY" \ + "AZURE_LOG_ANALYTICS_WORKSPACE_KEY=$AZURE_LOG_ANALYTICS_WORKSPACE_KEY" \ "POSTGRES_USERNAME=$POSTGRES_USERNAME" \ "POSTGRES_PASSWORD=$POSTGRES_PASSWORD" \ "DATABRICKS_HOST=$DATABRICKS_HOST" \ diff --git a/README.md b/README.md index 9d4315be..18cc19c0 100644 --- a/README.md +++ b/README.md @@ -606,6 +606,9 @@ POSTGRES_PASSWORD= DATABRICKS_HOST=https://.azuredatabricks.net DATABRICKS_TOKEN= + +AZURE_LOG_ANALYTICS_WORKSPACE_ID= +AZURE_LOG_ANALYTICS_WORKSPACE_KEY= ``` ### GitHub Actions @@ -619,6 +622,7 @@ In your repository navigate to *Secrets and variables* under *Settings*. Add the - `POSTGRES_PASSWORD` - `DATABRICKS_HOST` - `DATABRICKS_TOKEN` +- `AZURE_LOG_ANALYTICS_WORKSPACE_KEY` and add the following **variables**: @@ -630,6 +634,7 @@ and add the following **variables**: - `AZURE_RESOURCE_GROUP` - `AZURE_SUBSCRIPTION_ID` - `AZURE_TENANT_ID` +- `AZURE_LOG_ANALYTICS_WORKSPACE_ID` - `POSTGRES_SERVER_NAME` These values can be found under the Azure resources previously created. The workflows should now work! diff --git a/main.py b/main.py index ba917ef4..1eaf59a5 100644 --- a/main.py +++ b/main.py @@ -387,6 +387,10 @@ def _create_container_instance( f"DATABRICKS_HOST={Config.DATABRICKS_HOST}", f"DATABRICKS_TOKEN={Config.DATABRICKS_TOKEN}", f"AZURE_BLOB_STORAGE_ACCOUNT_KEY={Config.AZURE_BLOB_STORAGE_ACCOUNT_KEY}", + "--log-analytics-workspace", + Config.AZURE_LOG_ANALYTICS_WORKSPACE_ID, + "--log-analytics-workspace-key", + Config.AZURE_LOG_ANALYTICS_WORKSPACE_KEY, "--no-wait", ] diff --git a/src/config.py b/src/config.py index e068d372..b2c7aad1 100644 --- a/src/config.py +++ b/src/config.py @@ -27,6 +27,13 @@ class Config: AZURE_SUBSCRIPTION_ID: str = _require_env("AZURE_SUBSCRIPTION_ID") AZURE_UAMI_RESOURCE_ID: str = _require_env("AZURE_UAMI_RESOURCE_ID") + AZURE_LOG_ANALYTICS_WORKSPACE_ID: str = os.getenv( + "AZURE_LOG_ANALYTICS_WORKSPACE_ID", "" + ) + AZURE_LOG_ANALYTICS_WORKSPACE_KEY: str = os.getenv( + "AZURE_LOG_ANALYTICS_WORKSPACE_KEY", "" + ) + AZURE_BLOB_STORAGE_HTTPS_URL: str = "https://doppabs.blob.core.windows.net" AZURE_BLOB_STORAGE_ACCOUNT_NAME: str = "doppabs" AZURE_BLOB_STORAGE_CONNECTION_STRING: str = _require_env(