Metsys Blog

Débuter avec Log Analytics : Partie 7 – Améliorer le design de vos workbooks

Cliquez pour évaluer cet article !
1 avis

Dans cet article, nous allons continuer notre série avec Log Analytics et voir comment donner un meilleur design à vos rapports Log Analytics.

La série d’articles

Article précédent

Dans l’article précédent, nous avons importé de fausses données dans un Custom Log.
Les données étaient localisées dans un CSV et ont été automatiquement intégrées à Log Analytics.
L’idée est d’avoir un Custom Log avec des données afin de jouer avec Workbook, KQL et les requêtes.

Notre workbook

Nous allons créer un faux workbook de mise à jour du BIOS.
Nous avons les données suivantes de notre CSV :

Que voulons-nous ?
La première étape consiste à réfléchir à ce que nous voulons afficher dans le classeur.
Nous voulons les choses suivantes :

  • Un camembert avec le nombre d’appareils à jour ou non
  • Les nombres d’appareils non à jour par modèle
  • Les appareils comptent avec le BIOS non mis à jour par version du BIOS
  • Un tableau avec les détails de laayant les plus vieux BIOS
  • Un tableau des appareils dont le BIOS n’est pas à jour
  • Un tableau des appareils dont le BIOS date de plus de 2 ans

Chaque partie mentionnée précédemment peut être réalisée en ajoutant des requêtes.

Ajout de requêtes

Camembert de l’état de la mise à jour du BIOS

L’idée est d’afficher un camembert montrant l’état de la mise à jour du BIOS avec deux valeurs possibles :

  • À jour
  • Pas à jour

Voir ci-dessous le résultat attendu :


Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  1. Allez dans l’onglet Settings
  1. Accédez à la partie Logs Query
  2. Copiez la requête ci-dessous :
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| summarize LenovoBIOSreport_CL = count() by BIOSStatus_s, DeviceModel_s
  1. Si vous avez renommé le nom du journal personnalisé ou le changement de colonne ici
  2. Allez à Visualisation
  3. Sélectionnez Pie Chart
  1. Cliquez sur Done Editing
  2. Voir ci-dessous le résultat que nous obtenons :

Nombre d’appareils non à jour par modèle

L’idée est d’afficher un graphique à secteurs montrant les périphériques dont le BIOS n’est pas à jour par modèle.
Voir ci-dessous le résultat attendu :


Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  2. Allez dans l’onglet Settings
  3. Accédez à la partie Logs Query
  4. Copiez la requête ci-dessous
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| where BIOSStatus_s == "notuptodate"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| summarize LenovoBIOSreport_CL = count() by DeviceModel_s
  1. Allez à Visualisation
  2. Sélectionnez Tiles
  1. Cliquez sur Done Editing
  2. Voir ci-dessous le résultat que nous obtenons

Camembert avec BIOS non à jour par nombre de jours

L’idée est d’afficher un graphique à secteurs montrant le nombre d’appareils dont le BIOS n’est pas à jour par jours, par exemple nous avons 10 appareils qui ont un BIOS de plus de 2 ans ou 10 appareils avec un BIOS de plus de 2 mois…
Voir ci-dessous le résultat attendu :
Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  2. Allez dans l’onglet Settings
  3. Accédez à la partie Logs Query
  4. Copiez la requête ci-dessous
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| where BIOSStatus_s == "notuptodate"
| where DateDiffDelay_s <> ""
| where DateDiffDelay_s <> "730"
| where DateDiffDelay_s <> "1_365"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| summarize LenovoBIOSreport_CL = count() by DateDiffDelay_s, DeviceModel_s
| where DeviceModel_s has_any ({ComputerModel})
  1. Allez à Visualisation
  2. Sélectionnez Pie Chart
  3. Cliquez sur Done Editing
  4. Voir ci-dessous le résultat que nous obtenons

Un tableau avec les détails de la mise à jour du BIOS

L’idée est d’afficher un tableau avec les informations dont nous disposons.
C’est pour les deux appareils avec BIOS qui sont à jour et non à jour.
Voir ci-dessous le résultat attendu :


Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  2. Allez dans l’onglet Settings
  3. Accédez à la partie Logs Query
  4. Copiez la requête ci-dessous
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| project ['BIOS state ?']=BIOSStatus_s, Computer=ComputerName_s, User=UserName_s, Model=DeviceModel_s, ['Not updated since (in days']=NotUpdatedSince_s,
['Current BIOS version']=CurrentVersionBIOS_s,['New BIOS version']=NewVersionBIOS_s
| where "{ComputerName:escape}" == "*" or Computer contains "{ComputerName:escape}" or "{ComputerName:escape}" == "All devices"
  1. Cliquez sur Done Editing

Un tableau des appareils dont le BIOS n’est pas à jour

C’est la même chose qu’avant mais uniquement pour les appareils dont le BIOS n’est pas à jour.
Voir ci-dessous le résultat attendu :


Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  2. Allez dans l’onglet Settings
  3. Accédez à la partie Logs Query
  4. Copiez la requête ci-dessous
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| where BIOSStatus_s == "notuptodate"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| project Computer=ComputerName_s,User=UserName_s, Model=DeviceModel_s, ['Not updated since (in days']=NotUpdatedSince_s,
['Current BIOS version']=CurrentVersionBIOS_s,['New BIOS version']=NewVersionBIOS_s
| where "{ComputerName:escape}" == "*" or Computer contains "{ComputerName:escape}" or "{ComputerName:escape}" == "All devices"
| where Model has_any ({ComputerModel})
  1. Cliquez sur Done Editing

Un tableau des appareils dont le BIOS date de plus de 2 ans

Nous voulons afficher un tableau avec des informations sur les appareils dont le BIOS n’est pas à jour depuis plus de 2 ans.
Voir ci-dessous le résultat attendu :


Nous allons procéder comme ci-dessous :

  1. Cliquez sur Add > Query
  2. Allez dans l’onglet Settings
  3. Accédez à la partie Logs Query
  4. Copiez la requête ci-dessous
LenovoBIOSreport_CL
| where ScriptStatus_s == "Success"
| where BIOSStatus_s == "notuptodate"
| where DateDiffDelay_s == "730_More"
| summarize arg_max(TimeGenerated,*) by ComputerName_s
| project ['BIOS uptodate ?']=BIOSStatus_s, Computer=ComputerName_s,User=UserName_s, Model=DeviceModel_s, ['Not updated since (in days']=NotUpdatedSince_s,['Current BIOS version']=CurrentVersionBIOS_s,['New BIOS version']=NewVersionBIOS_s
  1. Cliquez sur Done Editing

Donnez à votre workbook un meilleur design

Nous allons d’abord modifier toutes les requêtes afin de :

  • Ajouter un titre
  • Ajouter une bordure
  • Changer la taille principale

Configuration du titre, de la bordure et de la taille

Pour ce faire nous allons procéder comme ci-dessous sur chaque requête :

  1. Allez sur la requête
  2. Cliquez sur Edit
  3. Allez dans la partie Settings
  4. Aller dans Size
  5. Choisissez Tiny
  6. Allez dans Advanced settings
  7. Aller dans Chart title
  8. Ajouter un titre
  9. Aller dans Style
  10. Cochez Show border around content
  1. Cliquez sur Done editing

Voyons maintenant à quoi cela ressemble maintenant :

Ajout d’une barre de recherche pour le tableau

Ok c’est cool, maintenant ajoutons une barre de recherche au-dessus de chaque tableau.
Nous allons procéder comme ci-dessous :

  1. Accédez à chaque requête de table
  2. Cliquez sur Edit
  3. Allez dans Advanced settings
  4. Cochez Show filter field above grid
  1. Cliquez sur Done editing
  2. Voir ci-dessous le résultat :

Ajout de quelques icônes

Maintenant dans le tableau avec les informations sur les périphériques pour les mises à jour du BIOS et non.
Nous avons une colonne d’état du BIOS, donc l’idée est maintenant de remplacer les mots uptodate et notuptodate par des icônes.
Nous allons procéder comme ci-dessous :

  1. Cliquez sur Edit
  2. Allez dans Settings
  3. Cliquez sur Column settings
  1. Accédez à BIOS state
  2. Allez dans Column renderer
  1. Sélectionnez Thresholds
  1. Sélectionnez Icons
  2. Configurez-le comme ci-dessous :
  1. Voir ci-dessous le résultat :

Ajout d’onglets

Allons maintenant plus loin.
Nous avons pour type d’informations :

  • Graphiques
  • Tableau

Nous souhaitons maintenant les afficher dans deux onglets :

  • Aperçu des onglets avec tous les camemberts
  • Détails de l’onglet avec tous les tableaux

Nous allons d’abord créer nos deux onglets comme ci-dessous :

  1. Cliquez sur Add > Adds links/tabs
  1. Allez dans Style
  2. Sélectionnez Tabs
  1. Allez dans le champ de texte
  2. Saisissez BIOS update resume
  3. Allez dans Action
  4. Choisissez Set a parameter value
  5. Allez à Value
  6. Saisissez SelectedTab
  7. Allez dans Settings
  8. Saisissez Resume
  9. Accédez au champ de texte ci-dessous
  10. Saisissez BIOS update details
  11. Allez dans Action
  12. Choisissez Set a parameter value
  13. Allez dans Value
  14. Saisissez SelectedTab
  15. Allez dans Settings
  16. Saisissez Details
  17. Voir ci-dessous le résultat :
  1. Cliquez sur Done editing
  2. Cliquez sur les 3 points
  3. Cliquez sur Move to top

Nous avons maintenant deux onglets mais si nous cliquons dessus, cela ne fait rien.
C’est parce que nous devons lier chaque requête sur l’onglet approprié.
Au point 10 & 18 avant nous avons configuré une valeur Paramètres.
Nous avons là CV et détails.
Nous ajouterons ces valeurs à nos requêtes pour les lier à l’onglet approprié.

Nous allons procéder comme ci-dessous :

  1. Accédez à chaque requête
  2. Cliquez sur Edit
  3. Accédez à Advanced settings
  4. Cochez Make this item conditionnaly visible
  5. Cliquez sur Add condition
  6. Dans Parameter name, tapez SelectedTab
  7. Laissez equals
  8. Allez dans Parameter value
  9. Saisissez Resume ou Details
  10. Cliquez sur Save

Maintenant, si vous cliquez sur « Reprendre », seuls les graphiques seront affichés et si vous cliquez sur « Détails », seuls les tableaux seront répertoriés.


Dans une prochaine étape, nous souhaitons ajouter des filtres qui seront utilisés pour filtrer les données sur tous les onglets et pas seulement sur une requête.

On veut par exemple :

  • Filtre avec case à cocher pour filtrer sur les modèles
  • Menu déroulant pour filtrer sur le nombre de jours anciens
  • Une zone de texte pour filtrer sur le nom de l’appareil

Ajouter des filtres

Filtrage sur les modèles

Ce filtre doit être disponible pour les onglets CV et Détails.
Nous allons le créer comme ci-dessous :

  1. Cliquez sur Add > Add parameters
  2. Cliquez sur le bouton Add parameter
  3. Dans Parameter name, tapez ComputerModel
  4. Dans Display name, tapez Filter on device model
  5. Dans Parameter type, choisissez
  6. Cochez Allow multiple selections
  7. Limitez multiple selections
  8. Allez dans la partie Logs Query
  9. Tapez la requête ci-dessous :
  10. Cliquez sur Run query
  11. Allez dans Include dans le menu déroulant
  12. Cochez All
  13. Aller dans Default selected item
  14. Cochez All
  15. Cliquez sur Save
  16. Voir ci-dessous le résultat

Filtrage sur le nom de l’appareil

  1. Cliquez sur le bouton Add parameter button
  2. Tapez ComputerName
  3. Allez sur Display name
  4. Tapez Type a device name
  5. Cliquez sur Save
  6. Cliquez sur Done editing
  7. Allez dans Advanced settings
  8. Cochez Make this item conditionally visible
  9. Cliquez sur Add condition
  10. Dans Parameter name, tapez SelectedTab
  11. Dans Parameter value, saisissez Détails
  12. Cliquez sur Save
  13. Cliquez sur Done editing
  14. Voir ci-dessous le résultat

Nous avons ajouter le filtre mais cocher ou décocher les modèles ne fera rien.
C’est parce que nous devons lier l’action sur le filtre à notre graphique et nos tables.

Pour ce faire nous allons procéder comme ci-dessous :

  1. Modifiez chaque requête de graphique
  2. Allez dans la partie Settings
  3. Tapez la ligne ci-dessous à la fin de la requête :
  4. Cliquez sur Done editing
  5. Modifiez chaque requête de table
  6. Allez dans la partie Settings
  7. Tapez la ligne ci-dessous à la fin de la requête :
  8. Cliquez sur Done editing
  9. Voir ci-dessous le résultat pour le filtrage des modèles
  1. Voir ci-dessous le résultat pour le filtrage des noms

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
1 avis

Articles pouvant vous intéresser

Resource Guard 

Mise en place du Resource Guard Azure Resource Guard est un concept qui fait référence