# Microsoft Azure Monitoring

Microsoft Azure is a cloud computing platform and service that provides a wide range of solutions, such as virtual machines, databases, AI and machine learning tools, and IoT services. Azure allows organizations to build, deploy, and manage applications through Microsoft-managed data centers, offering flexibility, scalability, and security for various IT and development needs.

Monitoring Azure resources helps maintain the optimal performance and reliability of cloud-based applications and services. IT-Conductor provides an out-of-the-box solution to monitor the availability and performance of Azure resources.

### Prerequisites  <a href="#prerequisites" id="prerequisites"></a>

Before configuring an Azure resource for monitoring in IT-Conductor, register IT-Conductor in Azure subscription by following the steps below.

#### Register IT-Conductor as an App in Azure Subscription

1. Visit [Azure Portal](https://portal.azure.com/) and enter your login credentials.
2. On the left panel, navigate to **Microsoft Entra ID** **→ Tenant Properties**.
3. Copy and note the **Tenant ID**: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2F3JiILE6rWxmeihtssrF7%2F01%20property%20views.png?alt=media&#x26;token=9ca75c64-22ec-478d-bd81-3ecfedf5b892" alt=""><figcaption><p>Figure 1: Tenant Properties in Azure Portal</p></figcaption></figure>

4. Search **App Registrations** on the search bar and click on **New Registration**.&#x20;

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2Fujz2J57xQVui8a43eZ7e%2F02%20app%20registration.png?alt=media&#x26;token=175a9482-af19-4846-8abe-186be7d03b8d" alt=""><figcaption><p>Figure 2: App Registrations in Azure Portal</p></figcaption></figure>

5. Fill out all the necessary information as shown in Figures 3a and 3b. Once completed, click **Register** to add the system.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FJI8GRhqJpsgODbdCaxRg%2F03%20Register%20application.JPG?alt=media&#x26;token=3d635c54-fb9b-4e81-b892-8e81bfd864ae" alt=""><figcaption><p>Figure 3a: Register an Application in Azure Portal</p></figcaption></figure>

* **Name -** refers to the name of the application that will be added (i.e., IT-Conductor)
* **Supported Account Types** - determines who will have access to the application. Select one of the options that best suits your organization's needs.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FN0QxcZI9lDwLPYW2CFrz%2F04%20Register%20application%20pt2.JPG?alt=media&#x26;token=abcba0f2-6bda-4858-941c-635778b7ad05" alt=""><figcaption><p>Figure 3b: Register an Application in Azure Portal</p></figcaption></figure>

* **Redirect URL (Optional) -** add a URL value to authenticate upon accessing the application.

6. On the newly created app, copy and note the IT-Conductor **Application (client) ID.**

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FoWVFSZyI3zArmOaNq7SA%2F05%20app%20properties.png?alt=media&#x26;token=c7529e22-81d5-4d54-a9d0-bf6c41aca688" alt=""><figcaption><p>Figure 4: Application Properties in Azure Portal</p></figcaption></figure>

7. Navigate to **Certificates & Secrets** and select the **Client Secrets** ta&#x62;**.** Then click **New Client Secret.**

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FZ8jRLSIITJs0g1mVbeDV%2F06%20client%20secrets.png?alt=media&#x26;token=6add5f07-55f0-4198-a21c-678516f1a0fb" alt=""><figcaption><p>Figure 5: Client Secrets in Azure Portal</p></figcaption></figure>

8. Fill out all the necessary information in the **Add a Client Secret** screen. Once completed, click **Add** to add the system.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2Fv6Fq5BOb6CYfmsnraWRK%2Fadd-a-client-secret-screen-in-azure-portal.png?alt=media&#x26;token=a60e763e-b35e-4b50-bdb3-5d545fe7af53" alt=""><figcaption><p>Figure 6: Add a Client Secret in Azure Portal</p></figcaption></figure>

* **Description** - refers to any relevant information about the secret password.
* **Expires** - refers to the expiration date for the secret password.

9. Copy and note the **Value** and **Secret ID** for the newly created secret.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FpePUEJbBilJXj6JXCnTv%2F08%20client%20secrets%20pt3.png?alt=media&#x26;token=f43bac24-d233-4676-92f9-6dcb00aaa9a3" alt=""><figcaption><p>Figure 7: Value and Secret ID of Newly Created Secret in Azure Portal</p></figcaption></figure>

{% hint style="warning" %}
**Important:** Copy the value immediately; otherwise, it will show as encrypted when accessed later.
{% endhint %}

10. Navigate to **All Services -> Subscriptions.** Click on any of the existing subscriptions. Copy and note the **Subscription ID**: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FWUKQI1DPm3TrX1esKAI2%2F09%20subscription.png?alt=media&#x26;token=218312ed-163e-4734-b9f0-6b6f72021185" alt=""><figcaption><p>Figure 8: All Services in Azure Portal</p></figcaption></figure>

{% hint style="info" %}
**Note:** If you don't have any subscriptions, you must create one.
{% endhint %}

11. On the selected subscription's side menu, navigate to **Access Control (IAM) -> Role Assignments   -> Add -> Role Assignments.**

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FIsztmEfxePMF1LWItw0V%2F10%20IAM.png?alt=media&#x26;token=7f3bca43-48e7-4e5a-ba1c-3743fc0ced94" alt=""><figcaption><p>Figure 9: Role Assignments in Azure Portal</p></figcaption></figure>

12. Navigate to the **Role** tab and add the required roles for Azure Monitoring in IT-Conductor.

* **Virtual Machine Contributor** - gives rights to read, start/stop, etc. for VMs.
* **Monitoring Reader** - gives access to monitoring data.

13. Navigate to the **Members** tab and select **Azure AD User/User, Group, or Service Principal** in the **Assign Access To** field. Then click **Select Members** and select the previously created **IT-Conductor** app in the **Members** field.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FaAXbpEwwoJMZuCBo2LJ5%2F11%20role%20assignment.png?alt=media&#x26;token=55a97aef-fa68-4697-9731-e8235ac86918" alt=""><figcaption><p>Figure 10: Add Role Assignment in Azure Portal</p></figcaption></figure>

{% hint style="info" %}
**Note:**

* IT-Conductor won't appear in the list of users initially. You have to type in the Select field before it does.
* Additional roles may be required as we progress the development of features for IT-Conductor.
  {% endhint %}

### Configure Azure Monitoring in IT-Conductor

To configure Azure monitoring in IT-Conductor, follow the instructions below.

#### Add a New Azure Connection in IT-Conductor

1. Visit [service.itconductor.com](https://service.itconductor.com/) and enter your login credentials.
2. Navigate to **Dashboards → Administrator** to access the **Administrator's Dashboard**.
3. Locate the **Azure Tenants** actions panel and click the title to access the complete list.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FvOt3AivkZLvrN57yNBtk%2F12%20admin%20dashboard.png?alt=media&#x26;token=ec7780df-caa9-4505-be80-10a65c904f20" alt=""><figcaption><p>Figure 11: Administrator's Dashboard in IT-Conductor </p></figcaption></figure>

4. Click the **New Azure Tenant** button to create a new connection.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FlCYaPxQbxQHqsQBhWhfd%2F13%20create%20new%20azure%20tenant.png?alt=media&#x26;token=9fd97fba-6eaf-4d4e-9206-ba14e9c23b21" alt=""><figcaption><p>Figure 12: Azure Tenant Actions Panel Page</p></figcaption></figure>

5. Fill in the following fields and click <img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2Fgit-blob-7f816831472c5030e6dfbcb513035d87da645a67%2Fadd.png?alt=media" alt="" data-size="line"> to complete the configuration.

   <figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FctITS9dfXNhp2FA7Beip%2F14%20new%20azure%20tenant.JPG?alt=media&#x26;token=70730443-ffcd-4db2-9758-44c73b494ab8" alt=""><figcaption><p>Figure 13a: New Azure Tenant Wizard (New Azure Tenant Screen)</p></figcaption></figure>

   * **Name -** refers to a descriptive name for the new Azure connection.
   * **Description** - refers to any relevant information about the system being added.
   * **Organization** - refers to an administrative structure that defines objects with a common goal or purpose. If you previously created an organization, please select it.
   * **Role -** refers to the environment where the system will be used.
   * **Site** - refers to a logical object that describes a particular area or location, depending on the context in which it is used.
   * **Gateway** - allows communication between the customer's site network and the IT-Conductor cloud platform. See [Gateway Setup](https://docs.itconductor.com/user-guide/setup/gateway-setup) for more details.
   * **Tenant ID** - refers to the alphanumeric code copied from the **Tenant ID** in Azure Portal. See [Pre-requisites](#prerequisites) for more details.
   * **Subscription ID** - refers to the alphanumeric code copied from the **Subscription ID** in Azure Portal. See [Pre-requisites](#prerequisites) for more details.
6. Provide the account information in the **New Account** screen and click <img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2Fgit-blob-7f816831472c5030e6dfbcb513035d87da645a67%2Fadd.png?alt=media" alt="" data-size="line"> to complete the configuration.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FVjyPD21a7gBtzwG1Z2Ni%2F15%20new%20azure%20tenant%20pt2.JPG?alt=media&#x26;token=c5c7500f-ccd2-4d89-94b6-7a9842b55ce7" alt=""><figcaption><p>Figure 13b: New Azure Tenant Wizard (New Account Screen)</p></figcaption></figure>

* **Description** - refers to any relevant information about the user account being added.
* **Application** - refers to the name given to the Azure connection added.
* **Person** - refers to the name of the user who is adding the connection.
* **Client ID -** refers to the alphanumeric code copied from the Client Secret's **Secret ID** in Azure Portal. See [Pre-requisites](#prerequisites) for more details.
* **Client Key -** refers to the alphanumeric code copied from the Client Secret's **Value** in Azure Portal. See [Pre-requisites](#prerequisites) for more details.

7. Verify if the Azure connection was added to the **Azure Tenants** actions panel and check its status.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FENJ1pBCKTOIxbrLAeSpN%2F16%20new%20azure%20tenant.JPG?alt=media&#x26;token=af5fe2c2-4f18-4fc0-8eab-01882dee659e" alt=""><figcaption><p>Figure 14: Newly Added Azure Connection in Azure Tenant Actions Panel Page</p></figcaption></figure>

{% hint style="info" %}
**Note:** The status will remain on **Ready** for a few minutes. Refresh the panel if needed. If there are configuration issues, such as incorrect connection parameters or an invalid account, the status will remain **Ready**. Click ![](https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FgP45IvGAMdSnNh3vMs3J%2Ferrors-log-icon.gif?alt=media\&token=d1beab54-2391-4a94-895c-c4b72c9afe20) to display the logs and troubleshoot. If everything is configured correctly, the status will change to **In Progress.**
{% endhint %}

8. Navigate to the service grid and verify if the system was added under the **Azure Tenants** node.

{% hint style="info" %}
**Note:** The system will appear in the service grid within 5-15 minutes.
{% endhint %}

### Monitor Azure Resources in IT-Conductor <a href="#monitor-unix-linux-system-in-it-conductor" id="monitor-unix-linux-system-in-it-conductor"></a>

To view the availability and performance metrics of an Azure resource, locate the **Azure Tenant** node in the service grid.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FVGubjnVdasNGWg8MX4Qy%2F19%20azure%20tenants.png?alt=media&#x26;token=f7abedac-f33f-491f-867a-d6684b0d46e8" alt=""><figcaption><p>Figure 15: Azure Resources in Service Grid</p></figcaption></figure>

**Azure Tenant Key Metrics**

* **Availability** - refers to the operational state and accessibility of the Azure Tenant.
* **Connection Failures** - refer to the events where attempts to establish a connection are unsuccessful.
* **Heartbeat** - refers to the periodic signal sent to the system, enabling real-time detection of system downtime.
* **Missing Account** - refers to the absence of a required user account or resource within the Azure Tenant.
* **Retriever Failures** - refer to the errors or issues encountered during the retrieval process of essential data or information within the Azure Tenant.

To view more information about the Azure resource, click <img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2F6bnkGYexwgCnA6KhM7c6%2FiconShow.gif?alt=media&#x26;token=2d9cff30-597c-4288-a12e-c2bed5a5f599" alt="" data-size="line">.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FKZk49FyTArU8rQ2i0Q6I%2Fazure-resource-information.png?alt=media&#x26;token=09598218-11bf-44fb-8445-bf672f0f78ae" alt=""><figcaption><p>Figure 16: Azure Resource Information View in Service Grid</p></figcaption></figure>

To view the available automation actions, click <img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FJJ8YOGB9l1W3o27waQWl%2Fresource%20group%20icon.gif?alt=media&#x26;token=e148f882-7acb-485b-ac65-97e99e5781fe" alt="" data-size="line">.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FYQWh51Us27bSvcyOCgw8%2F20%20azure%20tenants%20pt2.png?alt=media&#x26;token=8928d381-cacf-447e-94cd-f1c6e3932087" alt=""><figcaption><p>Figure 17: Azure Resource Group Actions Menu in Service Grid</p></figcaption></figure>

To view the status of each action executed, click Commands and you will be redirected to the **Resource Batch Commands** page.

<figure><img src="https://377464071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXhp08OmU8050PePmMgDt%2Fuploads%2FKA7xi45RiwEzJkMynLrI%2F21%20commands.png?alt=media&#x26;token=60d93687-94fc-4b85-a119-501bb6b41b3f" alt=""><figcaption><p>Figure 18: Resource Batch Commands Actions Panel Page</p></figcaption></figure>

{% hint style="info" %}
**Note:** The Start/Stop/Deallocate actions can be automated in several ways: On-demand, Scheduled, Process Integration, or Recovery Actions.
{% endhint %}
