Erwan a initié un sujet sur le triptyque Telegraf, InfluxDB et Grafana dans l’article suivant : ICI. Je vais poursuivre le sujet avec un exemple intéressant pour les « Ops » tels que moi.
Nous allons décrire l’installation d’une solution de monitoring des travaux et des performances de la célèbre solution de protection de données VEEAM.
Le premier réflexe à avoir lorsqu’on recherche une assistance pour monter un « Dashboard » de ce genre, c’est de fouiller dans les nombreux travaux de la communauté. Ce fut mon cas. J’ai rapidement trouvé sur le GitHub de Jorge de la Cruz un bon exemple de ce que je recherchais.
Je vais vous faire un petit descriptif des étapes qui vous attendent.
1°) Installation de Grafana et InfluxDB : Pour cette partie, je vous renvoie à l’article d’Erwan Quélin –> ICI
2°) Télécharger les sources du Dashboard VEEAM : ICI
3°) Copier sur votre serveur VEEAM, le script powershell suivant :
« veeam-stats.ps1 ». Celui-ci va interroger votre serveur pour disposer des différentes métriques. Vous pouvez tester à blanc votre script pour voir si tout est OK. Il sera peut-être nécessaire d’autoriser l’exécution d’un script sur votre serveur (Set-ExecutionPolicy unrestricted). Voici le résultat dans mon cas :
4°) Installation de Telegraf sur le serveur/proxy VEEAM.
2 solutions simples pour installer Telegraf, Soit sur le site de l’éditeur et l’installer de manière classique, soit utiliser Chocolatey (Exemple ci-dessous)
choco installtelegraf -y | Restart-Service
puis
Get-Service telegrafStatus Name DisplayName------ ---- -----------Running telegraf Telegraf Data Collector Service
5°) Configuration de Télégraf
Il faut maintenant configurer le fichier Telegraf.conf (C:\Program Files\telegraf\telegraf.conf). Dans la section « output », les infos minimum nécessaires sont les suivantes :
## The full HTTP or UDP URL for your InfluxDB instance.
urls = ["http://192.168.1.25:8086"]
## The target database for metrics; will be created as needed.
database = "VEEAM"
## HTTP Basic Auth
username = "votre user avec droits sur serveur et base InfluxDB"
password = "votre password"
Maintenant dans la section « INPUT » Il faut ajouter, toujours dans le fichier Telegraf.com, les infos minimum nécessaires. Le premier bloc permet de récupérer les données générées par le fichier powershell veeam-stats.ps1, ensuite vous pouvez activer les différents paramètres de métrique du système comme le deuxième bloc (Information consommation CPU)
[[inputs.exec]]
commands = ["powershell C:/veeam-stats.ps1"]
name_override = "veeamstats"
interval = "60s"
timeout = "60s"
data_format = "influx"
[[inputs.win_perf_counters]]
[[inputs.win_perf_counters.object]]
# Processor usage, alternative to native, reports on a per core.
ObjectName = "Processor"
Instances = ["*"]
Counters = [
"% Idle Time",
"% Interrupt Time",
"% Privileged Time",
"% User Time",
"% Processor Time",
"% DPC Time",
]
Ensuite un redémarrage du service Telegraf sur le serveur est nécessaire.
Restart-Service telegraf
Get-Service telegrafStatus
Cette configuration est en mode « Maquette ». Évidement pour une utilisation de production, il est nécessaire de configurer certains paramètres de sécurité (HTTPs, TLS..etc). Pour info, la base de donnée VEEAM sera automatiquement créée si elle n’est pas présente. Vous pouvez créer la base dans influxdb avec des paramètres supplémentaires comme la politique de rétention en vous connectant sur votre serveur influxDB.
6°) Configuration Grafana
Se connecter à sa console Grafana – http://localhost:3000/
La première action est de créer la source de donnée.
Ajouter une source de donnée InfluxDB. Ajouter l’authentification Basic et le nom de votre base de donnée. Puis tester votre accès à la base.
Votre source de donnée est maintenant active.
Il faut ensuite importer le Dashboard personnalisé.
Puis copié le contenu du fichier « grafana_veeam_dashboard » (format JSON) puis cliquez sur « Load »
Sélectionnez ensuite votre source de donnée (InfluxDB dans notre cas), puis « Import »
Le Dashboard est maintenant accessible. Toutefois les données ne sont pas encore visibles. En effet, les variables ne sont pas mises en oeuvre. Il reste donc un peu de travail. Néanmoins, le contributeur de ce dashboard a promis de bientôt upgrader celui-ci.
Sélectionnons par exemple le plugins « REPO-VEEAM-FREE » en bas à droite puis « Edit ».
Remplacer le host « vac » par le hostname de votre serveur/proxy VEEAM, puis sélectionner votre source de donnée « REPO_Default_backup_Repository ». On peut voir en haut que notre requête est effectuée dans notre source de donnée « InfluxDB ».
Après un retour sur votre Dashboard, on peut voir que le plugin « REPO_Default_backup_Repository » est maintenant actif.
Il ne vous reste plus qu’à paramétrer tous les indicateurs souhaités. Une fois les indicateurs mis en oeuvre, vous pouvez maintenant adapter ce dashboard pour correspondre à votre besoin et pouvoir ajouter les métriques qui vous semblent nécessaires.
Conclusion
Je souhaitais à travers cette article vous faire partager un exemple de mise en oeuvre de dashboard destiné au pilotage de votre infrastructure. Il est facile d’imaginer les nombreuses possibilités de cet outil et surtout la simplicité avec laquelle on peut présenter des métriques critiques pour sa production On-Premise ou Cloud. Evidemment pourquoi pas offrir ce service aux métiers ?
J’en profite pour remercier également Jorge de la Cruz qui contribue à la communauté grafana. D’ailleurs, il vient très récemment de proposer un très beau dashboard VEEAM / Office 365 à base de RestAPI VEEAM. Je vous conseille d’aller voir son travail.
Bonjour,
Merci pour l’article, je vais regarder ça de plus près !
J’ai plusieurs erreurs :
Tentative de division par zéro.
Au caractère D:\Scripts\veeam01.ps1:59 : 25
+ … $repoObj = New-Object -TypeName PSObject -Property @{
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Une idée?