Microsoft Azure collector
If you are migrating from v1.x.x to v2.0.0, you can find a complete guide in this article.
Overview
Microsoft Azure is an ever-expanding set of cloud computing services to help your organization meet its business challenges. Azure gives you the freedom to build, manage, and deploy applications on a massive, global network using your preferred tools and frameworks.
Devo collector features
Features | Details |
---|---|
Allow parallel downloading ( | Partial (supported for |
Running environments |
|
Populated Devo events |
|
Flattening pre-processing |
|
Allowed source events obfuscation |
|
Data source description
Data source | Description | API endpoint | Collector service name | Devo table |
---|---|---|---|---|
VM Metrics | With the advantages of the Microsoft Azure API, one can obtain metrics about the deployed Virtual Machines, gathering them on our platform, making it easier to query and analyze in the Devo platform and Activeboards. | Azure Compute Management Client SDK and Azure Monitor Management Client SDK |
|
|
Event Hubs | Several Microsoft Azure services can generate some type of execution information to be sent to an EventHub service. (see next section) | Azure Event Hubs SDK |
|
Valid for all cloud.azure tables by setting the output option to stream to Event Hub. |
Event hubs: Auto-categorization of Microsoft Azure service messages
Many of the available Microsoft Azure services can generate some type of execution information to be sent to an EventHub service. This type of data can be categorized as events or metrics. The events, in turn, can be from different subtypes: audits, status, logs, etc.
All such data will be gathered by Devo’s Microsoft Azure collector and sent to our platform, where message auto-categorization functionality is enabled for sending the messages to relevant Devo tables in an automatic way.
Although EventHub is the service used for centralizing Azure services' data, it also generates information that can be sent to itself.
In case the amount of egress data exceeds Throughput per Unit limits set by Azure (2 MB/s or 4096 events per second), it won’t be possible for Devo to continue reliable ingestion of data. You can monitor ingress/egress throughput in Azure Portal EventHub Namespace, and based on trends/alerts, you can add another EventHub to resolve this. To avoid this from happening in the first place, please follow scalability guidance provided by Microsoft in their technical documentation.
Learn more in this article.
Vendor setup
The Microsoft Azure collector centralizes the data with an Event Hub using the Azure SDK. To use it, you need to configure the resources in the Azure Portal and set the right permissions to access the information.
Virtual Machine metrics
Getting credentials
To log in to the Azure subscription, the collector uses a Service Principal object. You need to get the subscription ID, Active Directory ID, Application ID (service principal identification), and the client secret (service principal "password"). To get them, follow these steps:
Log in to your Azure account and search for Azure Active Directory.
Now, click App registrations in the left menu and click the app (or Service Principal) that you are going to use.
In the Overview area, find the Application (client) ID and the Directory (tenant) ID.
Now click Certificates & Secrets on the menu and create a new client secret by clicking the New client secret button.
Don't forget to save the client secret value, it will be only shown upon creation.Get the subscription ID by searching for Subscriptions on the home page.
Find the correct subscription and note down the subscription ID.
Setting up permissions
After creating the App registration (or Service Principal), go to the desired Resource Group (or subscription if you want to retrieve metrics from all the available virtual machines).
Select Access control (IAM) in the left menu and click Add.
Select at least the Reader role and choose the previously created App registration.
Confirm the changes.
Event Hub events
Getting credentials (Storage Account) (Optional)
If you want to use Azure Blob Storage for checkpointing purposes, you need to create a storage account to store the checkpoints. If you do not wish to use Azure Blob storage (i.e. you will use Devo local persistence), you can skip the Blob Storage configuration steps.
Getting credentials (Event Hubs)
Users can either obtain a connection string or use Role Assignments to allow the collector to access the Event Hub.
Setting up the Event Hubs
Now, search the Monitor service and click on it.
Click the Diagnostic Settings option in the left area.
A list of the deployed resources will be shown. Search for the resources that you want to monitor, select them, and click Add diagnostic setting.
Type a name for the rule and check the required category details (logs will be sent to the cloud.azure.eh.events table, and metrics will be sent to the cloud.azure.eh.metrics table).
Check Stream to an Event Hub, and select the corresponding Event hub namespace, Event hub name, and Event hub policy name.
Click Save to finish the process.
Event Hub Auto Discover
To configure access to event hubs for the auto-discovery feature, you need to grant the necessary permissions to the registered application to access the Event Hub without using the RootManageSharedAccessKey
. Furthermore, the auto-discovery feature will enumerate a namespace and resource group for all available event hubs and optionally create consumer groups (if the configuration specifies a consumer group other than $Default
and that consumer group does not exist when he collector connects to the event hub) and optionally create Azure Blob Storage containers for checkpointing purposes (if the user specifies a storage account and container in the configuration file).
Role assignment (Namespace)
Repeat the steps from the Event Hubs Role Assignment section, except that the necessary role is the Azure Event Hubs Namespace Data Owner role. This allows the collector to enumerate the event hubs in the namespace and create consumer groups if necessary.
Minimum configuration required for basic pulling
Although this collector supports advanced configuration, the fields required to retrieve data with basic configuration are defined below.
Setting | Details |
---|---|
| The Azure application tenant ID. |
| The Azure application client ID. |
| The Azure application client secret. |
| The Azure application subscription ID. |
Accepted authentication methods
Authentication method | Tenant ID | Client ID | Client secret | Subscription ID |
---|---|---|---|---|
OAuth2 | REQUIRED | REQUIRED | REQUIRED | REQUIRED |
Run the collector
Once the data source is configured, you can either send us the required information if you want us to host and manage the collector for you (Cloud collector), or deploy and host the collector in your own machine using a Docker image (On-premise collector).
Collector services detail
This section is intended to explain how to proceed with specific actions for services.
Collector operations
This section is intended to explain how to proceed with specific operations of this collector.
Change log
Release | Released on | Release type | Details | Recommendations |
---|---|---|---|---|
| Jul 10, 2024 | IMPROVEMENTS | Feature
Improvements
|
|
| May 16, 2024 | IMPROVEMENTS | Improvements
|
|
| Feb 20, 2024 | IMPROVEMENTS | Improvements
|
|
| Feb 14, 2024 | IMPROVEMENTS BUG FIXING | Improvements
Bug fixing
|
|
| Oct 6, 2023 | BUG FIXING | Bug fixing
|
|
| Sep 6, 2023 | IMPROVEMENTS BUG FIXING | Improvements
Bug fixing
|
|
| Jun 12, 2023 | IMPROVEMENTS BUG FIXING | Improvements
Bug fixing
|
|
| Feb 21, 2023 | BUG FIXING | Bug fixing
|
|
| Aug 12, 2022 | IMPROVEMENTS | Improvements
|
|
| Aug 12, 2022 | IMPROVEMENTS | Improvements New events types are accepted for the service
|
|
| Jun 14, 2022 | BUG FIXING | Bug fixing A configuration bug has been fixed to enable the autocategorization of the following events
|
|