Bonjour,
Je souhaiterai utiliser un petit script powershell pour faire des extractions de graphiques. J’utilise déjà cette commande qui fonctionne bien :
### Timestamps
$TempsUnix=get-date (Get-Date -Format hh:mm:ss) -UFormat %s
$30DerniersJours=$TempsUnix-(3600*24*30)
### Bypass de l'erreur de contrôle de certificat
add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
public bool CheckValidationResult(
ServicePoint srvPoint, X509Certificate certificate,
WebRequest request, int certificateProblem) {
return true;
}
}
"@
bSystem.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
### Téléchargement du .png via un compte dédié
$source="https://$($serveur)/centreon/include/views/graphs/generateGraphs/generateImage.php?username=$($utilisateur)&token=$($Jeton)&start=$($30DerniersJours)&end=$($TempsUnix)&hostname=$($Hote)&service=$($service)"
$destination="C:\CheminXYZ\$($test).png"
Invoke-WebRequest -Uri $source -OutFile $destination
Seulement voilà, certaines sondes ont beaucoup trop de métriques et il y a plus de légende que de graph’ dans le .png fini.
J’ai testé une page légèrement différente :
https://x.x.x.x/centreon/include/views/graphs/generateGraphs/generateMetricImage.php?cpt=1?&svcId=126_773&start=1694591040&end=1694601840&metric=434
Seulement j’obtiens un .png blanc, vide. L’URL fonctionne bien dans une page web sous réserve de m’être déjà connecté avec un compte qui a les droits pour. J’ai tenté d’injecter ce petit morceau mais sans succès :
username=$($utilisateur)&token=$($Jeton)
Est-ce qu’il est possible d’utiliser un compte avec une clef d’auto-connexion pour récupérer des graphiques depuis la page generateMetricImage.php ? Ou doit-je me résigner a utiliser un service en plus sur l’hôte qui ne monitor que la métrique souhaité ?
Merci :)