OneView – Lister les Alertes Active en PowerShell
Comme me l’a dit un interlocuteur il y a peu, OneView « ça crache beaucoup d’alertes ». Il n’avait pas tord, ce midi en 3h00 j’ai reçu plus de 2800 mails pour un souci rencontré sur un « Interconnect ». On peut donc être tenté d’extraire en automatique les alertes actives, mais il ne faut pas oublié que les alertes « Cleared » automatiquement par le système peuvent également nous en dire beaucoup sur l’état de santé de notre équipement.
Pour Lister en PowerShell les alertes actives au sein de votre appliance OneView, il faut utiliser la commande :
Get-HPOVAlert -AlertState Active
On peut également lister les alertes de type « Critical »
Get-HPOVAlert -AlertState Active -Severity Critical
1 2 3 4 5 6 7 8 9 10 11 12 |
. Get-HPOVAlert -AlertState Active -Severity Critical Severity Resource Created Modified State AssignedToUser Description ------------- ------------- --------------------------------------- --------------------------------------- ------- ----------------------- ------------------------------------------------- Critical srv1 ven. août 02 01:21:27 2019 ven. août 02 01:21:27 2019 Active Service Event: The fan failed on chassis 2, fan 3. . |
On peut également lister les alertes de type « Warning » et les classer par date décroissante.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
. Get-HPOVAlert -AlertState Active -Severity Warning | Sort-Object -Descending Created Severity Resource Created Modified State AssignedToUser Description ------------- ------------- -------------------------------------- --------------------------------------- ------- ----------------------- ------------------------------------------------- Warning Srv2 dim. août 04 05:07:14 2019 dim. août 04 05:07:14 2019 Active The fans are no longer redundant on chassis 0. Warning Srv31 ven. août 02 15:17:28 2019 ven. août 02 15:17:28 2019 Active Unable to collect firmware inventory from the ... Warning ChassisLame jeu. août 01 22:48:35 2019 jeu. août 01 22:48:35 2019 Active For the FABRIC2 uplink set, uplink ports {"name":... Warning Srv12 mer. juil. 17 18:45:06 2019 mer. juil. 17 18:45:06 2019 Active The server profile is inconsistent with its se... Warning Srv8 mer. juil. 10 18:44:25 2019 mer. juil. 10 18:44:25 2019 Active The server profile is inconsistent with its se... . |
En partant de ces éléments , j’ai donc fait un rapport quotidien qui nous transmet automatiquement un tableau HTML avec les alertes actives.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
. [String] $body=" <head><style> table {border-collapse: collapse; border-spacing: 1pt;border-width: 1.5pt;border-style: ridge;border-color: #7F7F7F;empty-cells: show } th {font-family:verdana;font-weight:bold;font-size:10.0pt;color:black;background-color:#eeee99;border-spacing: 1pt;border-width: 1pt;border-style: ridge;border-color: #7F7F7F;empty-cells: show} td {font-family:verdana;font-weight:normal;font-size:10.0pt;color:black;border-spacing: 7pt;border-width: 1pt;border-style: ridge;border-color: #7F7F7F;empty-cells: show} </style></head> <body>" $body +="<p>Bonjour,<br><br> .... petit message ... <br><br> </p>" [String] $body2="" $report = @() Get-HPOVAlert -AlertState Active | Sort-Object -Descending Created | %{ $row = "" | select Resource, Severity, State, Description, Created , Modified, AssignedToUser $row.Resource = $_.associatedResource.resourceName $row.Severity = $_.Severity $row.State = $_.alertState $row.Description = $_.Description $row.Created = $_.Created $row.Modified = $_.Modified $row.AssignedToUser = $_.assignedToUser $report += $row } if($report.count -gt 0){ # On formate un tableau en HTML pour le corp du mail $body2 += "<table border=`"1`">" $body2 += "<tr> <th>Ressource</th><th>Severité Alerte</th><th>Etat Alerte</th> <th>Description</th> <th>Date Creation</th><th>Date Modification</th><th>AssignedToUser</th></tr>" $report | %{ $body2 += "<tr> <td align=`"LEFT`" > "+$_.Resource+"</td> <td align=`"CENTER`" > "+$_.Severity+"</td> <td align=`"CENTER`" > "+$_.State+"</td> <td align=`"CENTER`" > "+$_.Description+"</td> <td align=`"CENTER`" > "+$_.Created+"</td> <td align=`"CENTER`" > "+$_.Modified+"</td> <td align=`"CENTER`" > "+$_.AssignedToUser+"</td> </tr>" } $body2 += " </table> <br/>" .... ici Un petit message pour les logs ... }else { $body2 += "<p> - Aucune alerte n est active dans la console OneView $($oneview)</p><br/>" } $body += $body2 $body += "<br/>" $body += " Cordialement,<br/>" $body += " " ... reste plus qu'a envoyer le tableau avec Send-MailMessage ... . |
Exemple de rapport sur les alertes OneView
Lien :