influxdata / influxdata/telegraf

Update azure_monitor output plugin to supported SDK. Current module is EoL in March

Open
#12,535 1 comment 1 reaction 0 assignees View on GitHub
feature request help wanted size/l
Dominant language
Go
Stars
17.8k
Forks
5.8k
Avg merge
1d 20h
Merged PRs (30d)
161

Description

### Use Case

The Azure authentication module used by the `azure_monitor` output plugin will be retired in March. Please consider updating the plugin to use `azidentity` instead.

The notice _does_ indicate the current module will continue to work after March 31st, but that could break at any time in the future without notice - not to mention the increasing risk over time of security incident running an unsupported SDK, and the lack of new feature/compatibility development (e.g. the current plugin isn't compatible with Azure Arc enabled hybrid machines, but [would be](https://github.com/Azure/go-autorest/issues/644) if it used the newer `azidentity` SDK)

**References:**
* [azure_monitor: `import "github.com/Azure/go-autorest/autorest/azure/auth"`](https://github.com/influxdata/telegraf/blob/410226051daa56ced3acde1df97d5e147299ce7f/plugins/outputs/azure_monitor/azure_monitor.go#L21)
* [azure_monitor: `auth.NewAuthorizerFromEnvironmentWithResource`](https://github.com/influxdata/telegraf/blob/410226051daa56ced3acde1df97d5e147299ce7f/plugins/outputs/azure_monitor/azure_monitor.go#L161)
* [go-autorest/autorest/azure/auth at main · Azure/go-autorest](https://github.com/Azure/go-autorest/tree/main/autorest/azure/auth)
* [Update your Azure SDK libraries by 31 March 2023 | Azure updates | Microsoft Azure](https://azure.microsoft.com/en-us/updates/support-for-azure-sdk-libraries-that-do-not-conform-to-our-current-azure-sdk-guidelines-will-be-retired-as-of-31-march-2023/):

> NOTE: This module will go out of support by March 31, 2023. For authenticating with Azure AD, use module [azidentity](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity) instead. For help migrating from `auth` to `azidentiy` please consult the [migration guide](https://aka.ms/azsdk/go/identity/migration). General information about the retirement of this and other legacy modules can be found [here](https://azure.microsoft.com/updates/support-for-azure-sdk-libraries-that-do-not-conform-to-our-current-azure-sdk-guidelines-will-be-retired-as-of-31-march-2023/).

### Expected behavior

N/A

### Actual behavior

N/A

### Additional info

_No response_

Contributor guide

Open the contributing guide

Research direction

Start in plugins/outputs/azure_monitor/azure_monitor.go, especially the legacy Azure authentication import and NewAuthorizerFromEnvironmentWithResource call identified in the issue. Read the azidentity migration guide and trace how the authorizer is used by the output plugin. Done means the plugin uses the supported SDK while preserving its existing Azure authentication behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, go
Domain
cloud
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.