Azure Billing Export – Comment recréer votre consommation Azure

 

Bonjour,

 

dans les précédents billets, nous avons vu comment utiliser les 2 APIS de billing Azure :

  • Api Billing Azure – Part 1 : Utilisation de l’API Resource Usage permettant de connaitre la consommation de service Azure en unité Azure.
  • Api Billing Azure – Part 2 : Utilisation de l’API RateCard permettant d’avoir les prix unitaires des services Azure en fonction des offres Azure.

Dans cette nouvelle partie, je vous propose de voir comment j’ai utilisé ses 2 apis pour recréer le fichier de détails de consommation que l’on peut récupérer sur son compte Azure (https://account.windowsazure.com)

Ce programme est disponible sur github à l’adresse suivante :

https://github.com/jdevillard/AzureBillingExport


J’ai en effet eu besoin de mettre en place un suivi de facturation de ma souscription Azure d’entreprise. L’utilisation sur site https://account.windowsazure.com n’étant pas facile (car très très lent) et non disponible pour l’assistante de facturation, j’ai donc décidé de mettre en place un programme automatisé permettant :

  • de récupérer les données de facturation d’une souscription
  • calculer les prix d’utilisation chaque service
  • créer un fichier Excel avec différentes pages :
    • résumé de la consommation global sur la période avec Graph de consommation journalière
    • détails de la consommation (à l’image du fichier CSV que l’on peut récupérer dans son espace de facturation)
    • Tableau Croisé de consommation par service
  • Envoi du fichier Excel par mail (via SendGrid) aux utilisateurs responsables du suivi de facturation.

Configuration

Pour fonctionner le programme nécessite les informations suivantes dans le web.config.

 <appSettings>
    <!-- Service root URL for ADAL authentication service WITH NO TRAILING SLASH! -->
    <add key="ADALServiceURL" value="https://login.microsoftonline.com" />
    <!-- Redirect URL for ADAL authentication service MUST MATCH YOUR AAD APP CONFIGURATION! -->
    <add key="ADALRedirectURL" value="https://localhost/" />
    <!-- Service root URL for ARM/Billing service WITH NO TRAILING SLASH!  -->
    <add key="ARMBillingServiceURL" value="https://management.azure.com" />
    <!-- DNS name for your Azure AD tenant -->
    <add key="TenantDomain" value="{INSERT Tenant Domain here}" />
    <!-- GUID of Azure Subscription that is trusting AAD tenant specified above -->
    <add key="SubscriptionID" value="{INSERT YOUR AZURE SUBSCRIPTION ID HERE}" />
    <!-- GUID for AAD application configured as Native Client App in AAD tenant specified above -->
    <add key="ClientId" value="{INSERT YOUR AD CLIENT ID HERE}" />                

    <!-- If you've created an Service Account -->
    <add key="AppKey" value="{INSERT YOUR AZURE APP KEY HERE}" />
    <add key="ClientID2" value="{INSERT YOUR AD CLIENT ID HERE}" />
    
    <add key="SendGridApiKey" value="{INSERT SENDGRID API KEY HERE}" />
    <add key="BillingEmailSender" value="{INSERT AN SENDER HERE}" />
    <add key="BillingEmails" value="{INSERT DESTINATION EMAIL HERE USING '|'}" />
  </appSettings>

La première partie des propriétés de configuration concernant la configuration de l’AD Azure est détaillé dans les samples de microsoft.

La deuxième partie concerne l’utilisation d’un compte de service (que je détaillerais dans un autre billet)

La dernière partie concerne la mise en place d’un envoi de mail via un compte SendGrid

Lancement de l’application

image

Pour commencer, démarrer l’application de la manière suivante :

AzureBillingExport.Console.exe –u –start-date 2016-08-01

Cela va lancer le  programme et récupérer les métriques de votre souscription depuis le 1 aout 2016 jusqu’a J-1 en vous proposant le login interactif.

image

Saisissez alors les identifiants d’un compte reconnu par votre Azure AD. (Attention ce compte doit avoir au minimum les droits de READER sur la souscription).

Si tout est correctement configurer, vous devriez avoir le défilement suivant :

image

Le programme va en effet itérer sur les résultats par page de 1000 enregistrements.

A la fin, vous obtenez un écran récapitulatif, ainsi qu’un fichier Excel billing.xlsx.

image

Le fichier Excel

Le fichier Excel se compose de 3 onglets :

  • summary : avec les dates de prises en comptes des métriques, le montant consommé ainsi qu’un tableau de consommation journalière.
  • BillingDetails : qui est un tableau reprenant la structure du fichier CSV de facturation disponible sur https://account.windowsazure.com
  • PivotTable : qui est un tableau croisée dynamique reprenant les montants pour chaque service Azure.

 

onglet 1 : summary

image

 

onglet 2 : BillingDetails

image

onglet 3 : PivotTable

image

 

voila Sourire.

Il me reste des ajustements et des améliorations sur le programme que je détaillerais dans de futurs billets.

This entry was posted in Azure, Français, Microsoft and tagged , , , , . Bookmark the permalink.

Leave a comment