Après la rapide présentation de l’application ici, le plus simple est de faire connaissance avec l’application. Après le téléchargement sur le site de splunkbase, l’installation peut se faire :
- Depuis l’interface de gestion des applications
- Depuis le système en copiant le contenu de l’archive dans [SplunkHome]/etc/apps/
Lors de la première exécution, l’étape de configuration s’affiche et permet de paramétrer l’automatisation si nécessaire.
Si dans un premier temps on souhaite juste tester, l’étape peut être enregistrée sans modifier les éléments. Si le besoin évolue, il est toujours possible de modifier la configuration depuis le menu de gestion des applications:
Pour ajouter la capacité d’export, il faut donc éditer le dashboard:
Puis il faut cliquer sur ajouter un panneau:
Dans le menu d’ajout de panneau, il faut ouvrir le menu « nouveau » et choisir « Smart PDF Export »
Pour permettre la génération de PDF, il faut utiliser une SPL qui génère du résultat
Une fois ajouté, par défaut, le nouveau panneau s’affiche à la fin du dashboard. Donc le mieux est de l’ajouter en premier ou bien comme présenté plus bas en éditant le code source du dashboard.
Lorsque le panneau a été ajouté, il est ensuite possible de configurer les paramètres de mise en page de l’export
Si l’on n’a pas lu ce post,il y a toujours un help file simple est efficace:
Les menus « PDF Settings » et « View » permettent de configurer la mise en page :
- Afficher/Masquer le bouton d’export celui-ci n’est pas forcement nécessaire si c’est juste pour automatiser la génération et l’export
- Nommer du bouton et sa position sur la page (gauche ou droite)
- L’image pour l’en-tête du PDF encodé en base64
- L’heure dans le pied de page
- La mise en page du fichier de sortie
- Automatique utilise de paramètre par défaut
- Manuelle en choisissant l’orientation et la taille du PDF
Astuce pour générer le base64 d’un fichier de logo
Le plus simple est d’utiliser son serveur Splunk. Après avoir transféré l’image, il faut exécuter depuis une console le binaire pyhton ou python.exe
Si juste un petit logo
>>> encoded = base64.b64encode(open('logo.png','rb').read())
>>> print "data:image/png;base64,"+encoded
Si trop gros logo:
>>> open('logobase64.txt','w').write("data:image/png;base64,"+encoded)
Le résultat:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AA...
On copie l’intégralité du résultat dans le menu de configuration et voilà:
Astuce pour intégrer le panneau d’export PDF via le code source
Pour l’ajout rapidement de la capacité d’export, il suffit d’éditer directement le code source du dashboard et d’ajouter les balises suivantes adapter en fonction du besoin :
Lors de l’édition, il faut cliquer sur source
Et ajouter le code suivant:
<panel>
<viz type="smart_exporter_app.smartexporter">
<search>
<query>| makeresults</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
<option name="smart_exporter_app.smartexporter.align">right</option>
<option name="smart_exporter_app.smartexporter.format">a3</option>
<option name="smart_exporter_app.smartexporter.hide">no</option>
<option name="smart_exporter_app.smartexporter.imgbase64">data:image/png;base64,iVBO....CYII=</option>
<option name="smart_exporter_app.smartexporter.includetime">1</option>
<option name="smart_exporter_app.smartexporter.mode">auto</option>
<option name="smart_exporter_app.smartexporter.orientation">p</option>
<option name="smart_exporter_app.smartexporter.text">Smart Export</option>
</viz>
</panel>
Si les éléments ci-dessus ne sont pas parlants, il faut revenir au mode d’édition graphique pour retrouver les menus vus précédemment
Et voilà désormais en cliquant sur le bouton, vous avez un PDF qui se génère puis arrive dans le répertoire de téléchargement du navigateur.
Astuce pour obtenir une image du contenu d’un panneau
L’application ajoute aussi la possibilité de récupérer le contenu d’un dashboard au format image. Pour cela une fois l’application ajoutée, une nouvelle icône apparaît en bas du Dashboard:
En cliquant sur celle-ci, le navigateur enregistre le contenu du panneau dans une image.
Et voilà! L’application d’export n’a plus de secrets 😉
Votre commentaire