[Azure] Portail d’utilisation et de facturation

Microsoft a rendu disponible le 14 Juillet un portail qui vous permet d’afficher, via des graphiques, l’utilisation et la facturation de votre suscription Azure (annonce: https://azure.microsoft.com/en-us/blog/announcing-the-release-of-the-azure-usage-and-billing-portal/).

Après quelques jours de vacances, j’ai enfin décidé de tester cette platform.

Pour commencer, vous devez avoir les prérequis suivants installés:

Nous allons maintenant télécharger les sources du projet qui se trouvent sur GitHub: https://github.com/Microsoft/AzureUsageAndBillingPortal

Et, décompressez l’archive:

Ouvrez maintenant ISE en tant qu’administrateur, et ouvrez le script PowerShell CreateAzureServicesScript.ps1 qui se trouve dans Folder\AzureUsageAndBillingPortal-master\Scripts. Déplacez vous vers le chemin qui contient le script (et le fichier json qui servira au déploiement) (1). Renseignez ensuite le nom de votre suscription Azure où vous souhaitez déployer les ressources (2). Et enfin, choisissez un nom unique pour le suffixe de votre déploiement (3). Unique car il sera utilisé pour le nom de votre stockage:

Si vous souhaitez modifier les différentes valeurs comme le nom d’utilisateur de SQL, etc, c’est tout à fait possible, les variables sont à la suite. Exécutez le script et connectez vous au service Azure. Une fois le script terminé, vous devriez avoir une page avec plein d’informations. Surtout, ne la fermez pas. Ces informations, nous allons les utiliser pour mettre à jour les fichiers Web.config et App.config de notre solution:

Ouvrez maintenant Visual Studio 2015 et ouvrez le projet/solution que vous avez téléchargez:

Ouvrez les fichiers Web.config qui se trouvent sous Dashboard et Registration:

Faites de même pour le fichier App.config qui se trouve dans WebJobBillingData et WebJobUsageDaily:

Nous allons mettre à jour ces fichiers avec les données que vous avez récupéré dans le script PowerShell. Copiez tout ce qui se trouve en rouge dans le script. Faites ceci sur les 4 fichiers:

  • AzureWebJobsDashboard correspond à AzureWebJobsDashboard dans le script PowerShell
  • AzureWebJobsStorage correspond à AzureWebJobsStorage dans le script PowerShell

Pour la partie SQL, ASQLConn correspond à ASQLConn ConnectionString dans le script PowerShell. Modifiez les 4 fichiers en faisant bien attention à avoir la partie providerName à chaque fois:

Faites de même pour les valeurs suivantes, dans chaque fichier, quand c’est nécessaire:

  • ida:ClientId correspond à ida:ClientID dans la sortie du script PowerShell
  • ida:Password correspond à ida:Password dans la sortie du script PowerShell
  • ida:TenantId correspond à ida:TenantId dans la sortie du script PowerShell
  • ida:PostLogoutRedirectUri correspond à ida:PostLogoutRedirectUri dans la sortie du script PowerShell

Nous allons reconstruire la solution, avec les modifications apportées. Sur le projet, faites un clique droit et sélectionnez Rebuild Solution:

Après quelques secondes, la reconstruction doit être terminée, sans erreur. Si vous en avez, vérifiez bien que vous n’ayez pas modifier les fichiers de configuration ou qu’il ne manque pas de guillemet, slash, etc. :

Nous allons publier chaque site (Dashboard et Registration) sur les 2 sites qui ont été crées lors de l’exécution du script PowerShell. Cliquez droit sur Dashboard et sélectionnez Publish…:

Sélectionnez ensuite Microsoft Azure Web Apps:

Etant donné que l’on souhaite publier le site Dashboard, sélectionnez le site qui contient le mot Dashboard:

Validez la combinaison Login/Password:

Sur la page suivante, cochez les 2 cases suivantes:

Sélectionnez ensuite la chaine de connexion à SQL, pour la partie DataAccess (ASQLConn):

Et décochez la case:

Cliquez sur Publish. Une fois le déploiement terminé, IE devrait s’ouvrir avec la page suivante:

Fermez la fenêtre. Faites de même pour le 2ème site, Registration. Sélectionnez le bon site sur lequel l’application doit être déployée:

Le 2ème site est disponible:

Fermez la fenêtre. Depuis Visual Studio, nous allons déployer le WebJob BillingData. Faites un clique droit dessus et sélectionnez Publish as Azure WebJob…:

Déployez le sur le site Dashboard:

Faites de même pour WebJobUsageDaily, également sur le site Dashboard. Allez maintenant sur votre Azure AD, dans la partie Applications et sélectionnez Azure Usage and Billing Portal puis allez dans Configurer. Copiez l’URL de connexion:

Activez l’hébergement mutualisée  et cliquez sur Enregistrer:

Collez l’url du site dans l’URL de réponse puis cliquez sur Ajouter une application:

Sélectionnez dans la nouvelle page Windows Azure Service Management API:

Ajoutez une nouvelle application et sélectionnez Windows Azure Active Directory:

Pour la partie Windows Azure Service Management API, sélectionnez comme autorisation déléguée, Access Azure Service Management as organisation…:

Pour la partie Windows Azure Active Directory, sélectionnez Sign in and read user profile:

Cliquez sur enregistrer. Retournez dans Visual Studio et ouvrez dans Scripts, SqlScripts.sql:

Cliquez sur l’icone suivant pour vous connecter à un serveur SQL via Visual Studio:

Choisissez Azure et sélectionnez le serveur SQL dans Azure, qui a été créé par le script. Remplissez le champ Password avec la valeur de ida:Password dans le script PowerShell:

Exécutez la requête SQL:

Elle a été exécutée correctement:

Il est maintenant temps d’enregistrer notre suscription Azure, pour que l’on puisse remplir la base de données avec les valeurs. Allez sur le site web concernant l’enregistrement, dans mon cas http://auiregistrationfa123.azurewebsites.net/. Choisissez l’option 2 et donnez le nom de votre domaine Azure AD, que vous souhaitez voir dans l’application:

Donnez un nom qui permettra d’identifier plus facilement la suscription et cliquez sur Allow Monitoring:

La suscription a bien été enregistrée:

Il est maintenant temps d’ouvrir PowerBI pour afficher des jolies graphiques Sourire Ouvrez la vue préconstruite qui se trouve dans le dossier que vous avez extrait, dans PowerBI:

Vous n’avez rien pour le moment, et c’est normal. Le Template de base ne connait aucune information sur votre environnement. Cliquez sur Edit Queries:

Dans la nouvelle page, cliquez sur Data Source Settings > Clear permissions > Clear Permissions:

Cliquez ensuite sur Change Source… pour donner les informations concernant notre serveur SQL:

Vous trouverez le nom du serveur et de la base de données directement dans le script PowerShell. Cliquez sur OK:

Cliquez ensuite sur Edit Permissions… pour donner le nom d’utilisateur/mot de passe pour accéder à la base de données:

Cliquez sur Edit et donnez le nom d’utilisateur et le mot de passe, que vous pouvez trouve dans le script PowerShell également et sauvegardez:

Fermez la page Data Source Settings. Cliquez sur Refresh Preview. Des données devraient apparaître:

Cliquez droit sur AzureUsageRecords dans la colonne des Queries et cochez Enable Load:

Sélectionnez Close & Apply:

Vous devriez avoir ceci:

Vous pouvez compléter les 3 croix avec d’autres informations si vous le souhaitez. Cliquez sur le cadre de gauche (1) puis dans les Fields (2), cliquez droit sur AzureUsageRecords et sélectionnez New measure (3):

Ecrivez la requête suivante dans la barre du haut (1):

NumberOfSubscriptions = DISTINCTION(AzureUsageRecords[DisaplyTag])

Puis, sélectionnez NumberOfSubscriptions (2) et déplacez le dans Fields (3):

Voici un Dashboard complet:

Cette nouvelle fonctionnalité est très intéressante, pour avoir un aperçu rapide des consommations pour une ou plusieurs suscriptions. C’est également très intéressant pour les managers qui doivent faire des rapports 🙂

Laisser un commentaire