Sommaire
ToggleDans 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
- Partie 1 : Création du workspace Log Analytics
- Partie 2 : Importation d’informations dans le workspace
- Partie 3 : Création du workbook
- Partie 4 : Ajouter les données Intune dans un workspace Log Analytics
- Partie 5 : Utiliser l’API Log Analytics pour effectuer des requêtes KQL avec PowerShell
- Partie 6 : Créer votre lab à partir de fausses données
- Partie 7 : donner un meilleur look à vos workbook (vous êtes ici)
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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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
- Si vous avez renommé le nom du journal personnalisé ou le changement de colonne ici
- Allez à Visualisation
- Sélectionnez Pie Chart
- Cliquez sur Done Editing
- 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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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
- Allez à Visualisation
- Sélectionnez Tiles
- Cliquez sur Done Editing
- 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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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})
- Allez à Visualisation
- Sélectionnez Pie Chart
- Cliquez sur Done Editing
- 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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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"
- 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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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})
- 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 :
- Cliquez sur Add > Query
- Allez dans l’onglet Settings
- Accédez à la partie Logs Query
- 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
- 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 :
- Allez sur la requête
- Cliquez sur Edit
- Allez dans la partie Settings
- Aller dans Size
- Choisissez Tiny
- Allez dans Advanced settings
- Aller dans Chart title
- Ajouter un titre
- Aller dans Style
- Cochez Show border around content
- 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 :
- Accédez à chaque requête de table
- Cliquez sur Edit
- Allez dans Advanced settings
- Cochez Show filter field above grid
- Cliquez sur Done editing
- 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 :
- Cliquez sur Edit
- Allez dans Settings
- Cliquez sur Column settings
- Accédez à BIOS state
- Allez dans Column renderer
- Sélectionnez Thresholds
- Sélectionnez Icons
- Configurez-le comme ci-dessous :
- 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 :
- Cliquez sur Add > Adds links/tabs
- Allez dans Style
- Sélectionnez Tabs
- Allez dans le champ de texte
- Saisissez BIOS update resume
- Allez dans Action
- Choisissez Set a parameter value
- Allez à Value
- Saisissez SelectedTab
- Allez dans Settings
- Saisissez Resume
- Accédez au champ de texte ci-dessous
- Saisissez BIOS update details
- Allez dans Action
- Choisissez Set a parameter value
- Allez dans Value
- Saisissez SelectedTab
- Allez dans Settings
- Saisissez Details
- Voir ci-dessous le résultat :
- Cliquez sur Done editing
- Cliquez sur les 3 points
- 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 :
- Accédez à chaque requête
- Cliquez sur Edit
- Accédez à Advanced settings
- Cochez Make this item conditionnaly visible
- Cliquez sur Add condition
- Dans Parameter name, tapez SelectedTab
- Laissez equals
- Allez dans Parameter value
- Saisissez Resume ou Details
- 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 :
- Cliquez sur Add > Add parameters
- Cliquez sur le bouton Add parameter
- Dans Parameter name, tapez ComputerModel
- Dans Display name, tapez Filter on device model
- Dans Parameter type, choisissez
- Cochez Allow multiple selections
- Limitez multiple selections
- Allez dans la partie Logs Query
- Tapez la requête ci-dessous :
- Cliquez sur Run query
- Allez dans Include dans le menu déroulant
- Cochez All
- Aller dans Default selected item
- Cochez All
- Cliquez sur Save
- Voir ci-dessous le résultat
Filtrage sur le nom de l’appareil
- Cliquez sur le bouton Add parameter button
- Tapez ComputerName
- Allez sur Display name
- Tapez Type a device name
- Cliquez sur Save
- Cliquez sur Done editing
- Allez dans Advanced settings
- Cochez Make this item conditionally visible
- Cliquez sur Add condition
- Dans Parameter name, tapez SelectedTab
- Dans Parameter value, saisissez Détails
- Cliquez sur Save
- Cliquez sur Done editing
- 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 :
- Modifiez chaque requête de graphique
- Allez dans la partie Settings
- Tapez la ligne ci-dessous à la fin de la requête :
- Cliquez sur Done editing
- Modifiez chaque requête de table
- Allez dans la partie Settings
- Tapez la ligne ci-dessous à la fin de la requête :
- Cliquez sur Done editing
- Voir ci-dessous le résultat pour le filtrage des modèles
- Voir ci-dessous le résultat pour le filtrage des noms