Nouveau dans la version 1.7: Enterprise

Utiliser les fonctions de reporting dans WAPT

Indice

Fonctionnalité disponible uniquement avec WAPT Enterprise.

Principe de fonctionnement

WAPT Enterprise offre des fonctionnalités avancées de reporting.

En effet, qui mieux que vous même pour savoir ce que vous voulez dans votre rapport.

Avec WAPT nous vous proposons d’écrire vos propres requêtes SQL pour afficher vos résultats souhaités dans votre console WAPT.

Concepteur de requêtes WAPT

Le concepteur de requêtes vous offre la possibilité d’éditer vos propres requêtes à exécuter sur la base de données PostgreSQL du serveur WAPT.

Pour créer un nouveau rapport, cliquez sur Rapport ‣ Mode Conception ‣ Nouvelle Requête.

Designing a query in WAPT reporting

Concevoir une requête pour le reporting WAPT

Indice

  • pour renommer une requête, appuyez sur la touche F2 ;

  • dans la bannière supérieure, vous pouvez écrire votre requête SQL ;

Pour éditer / modifier / sauvegarder vos rapports :

  • le bouton Recharger les requêtes est utilisé pour recharger les requêtes enregistrées sur le serveur, par exemple, si un collègue vient de modifier une nouvelle requête ;

  • le bouton Nouvelle requête ajoutera une nouvelle requête vide à la liste ;

  • le bouton Supprimer la requête supprimera la requête sélectionnée du serveur WAPT ;

  • le bouton Exporter vers Excel exportera le résultat de votre requête vers une feuille de calcul ;

  • le bouton Enregistrer la requête enregistrera votre requête sur le serveur WAPT ;

  • le bouton Dupliquer dupliquera une requête existante pour éviter d’écrire une requête à partir de zéro ;

  • le bouton Exécuter exécute la requête sélectionnée ;

Note

  • les requêtes sont sauvegardées dans la base de données PostgreSQL du serveur WAPT ;

  • le raccourci CTRL+Espace vous permet de construire vos requêtes plus efficacement en mode conception ;

Exemples de requêtes

Requêtes ordinateurs :

  • Nombre de postes

select count(*) as "Nb_Machines" from hosts
  • Liste des ordinateurs :

select computer_name,os_name,os_version,os_architecture,serialnr from hosts order by 4,3,1
  • Adresses MAC et IP des ordinateurs :

select distinct unnest(mac_addresses) as mac,
unnest(h.connected_ips) as ipaddress,  computer_fqdn,h.description,
h.manufacturer||' '||h.productname as model,
h.serialnr,h.computer_type
from hosts h
order by 1,2,3
  • versions de Windows:

select host_info->'windows_version' as windows_version,
os_name as operating_system,
count(os_name) as nb_hosts
from hosts
group by 1,2
  • Lister les différents OS

select host_info->'windows_version' as windows_version,os_name as "Operating_System",count(os_name) as "Nb_Machines" from hosts group by 1,2
  • Lister les postes inactife depuis longtemps

SELECT h.uuid,h.computer_fqdn,install_date::date,version,h.listening_timestamp::timestamp,h.connected_users from hostsoftwares s
left join hosts h on h.uuid=s.host_id
where
s.key='WAPT_is1'
and
h.listening_timestamp<'20190115'
  • Filter les hotes par type de Chassis

select case
dmi->'Chassis_Information'->>'Type'
 when 'Portable' then '01-Laptop'
 when 'Notebook' then '01-Laptop'
 when 'Laptop' then '01-Laptop'
 when 'Desktop' then '02-Desktop'
 when 'Tower' then '02-Desktop'
 when 'Mini Tower' then '02-Desktop'
 else '99-'||(dmi->'Chassis_Information'->>'Type')
end as type_chassis,
string_agg(distinct coalesce(manufacturer,'?') ||' '|| coalesce(productname,''),', '),
count(*) as "Nb_Machines" from hosts
group by 1
  • Lister les hotes avec leur numéro de série Windows

select computer_name,os_name,os_version,host_info->'windows_product_infos'->'product_key' as windows_product_key from hosts order by 3,1

Requêtes WAPT

  • Lister les paquets WAPT du serveur

select package,version,architecture,description,section,package_uuid,count(*)
from packages
group by 1,2,3,4,5,6
  • Lister les hotes nécessitant une mise à jour

select
computer_fqdn, host_status, last_seen_on::date,h.wapt_status,string_agg(distinct lower(s.package),' ')
from hosts h
left join hostpackagesstatus s on s.host_id=h.uuid and s.install_status != 'OK'
where (last_seen_on::date > (current_timestamp - interval '1 week')::date and host_status!='OK')
group by 1,2,3,4

Requêtes paquets

  • Lister les paquets avec leur nombre d’installation

select package,version,architecture,description,section,package_uuid,count(*)
from hostpackagesstatus s
where section not in ('host','unit','group')
group by 1,2,3,4,5,6

Requêtes logicielles

  • Agent WAPT Community

select h.uuid,h.computer_name,install_date::date,version,h.listening_timestamp::timestamp,name from hostsoftwares s
left join hosts h on h.uuid=s.host_id
where
s.key='WAPT_is1'
AND (name ilike 'WAPT%%Community%%' OR name ilike 'WAPT %%')
  • Lister les hotes avec la version de 7zip associée

select hosts.computer_name,hostsoftwares.host_id,hostsoftwares.name,hostsoftwares.version
from hosts,hostsoftwares
where hostsoftwares.name ilike '7-zip%%' and hosts.uuid=hostsoftwares.host_id
order by hosts.computer_name ASC
  • Lister les hotes avec leur logiciels

select
n.normalized_name,s.version,string_agg(distinct lower(h.computer_name),' '),count(distinct h.uuid)
from hostsoftwares s
left join normalization n on (n.original_name = s.name) and (n.key = s.key)
left join hosts h on h.uuid = s.host_id
where (n.normalized_name is not null) and (n.normalized_name<>'') and not n.windows_update and not n.banned and (last_seen_on::date > (current_timestamp - interval '3 week')::date)
group by 1,2
  • Normaliser les noms d’un logiciel

select
n.normalized_name,string_agg(distinct lower(h.computer_name),' '),count(distinct h.uuid)
from hostsoftwares s
left join normalization n on (n.original_name = s.name) and (n.key = s.key)
left join hosts h on h.uuid = s.host_id
where (n.normalized_name is not null) and (n.normalized_name<>'') and not n.windows_update and not n.banned and (last_seen_on::date > (current_timestamp - interval '3 week')::date)
group by 1

Vous pouvez également trouver plusieurs autres exemples de requêtes sur le forum de Tranquil IT.

Feel free to post your own queries on the same forum with an explanation of what your query does, ideally with a screen capture or a table showing a sample of your query result.

Normaliser les noms d’un logiciel

Parfois, la version du logiciel ou son architecture font partie intégrante du nom du logiciel. Lorsqu’ils s’inscrivent dans l’inventaire du serveur WAPT, ils apparaissent comme des logiciels différents alors qu’ils ne sont qu’un seul logiciel pour nous, les humains.

Pour résoudre ce problème, nous proposons de standardiser le nom de certains logiciels.

Normalizing the name of software

Normaliser les noms d’un logiciel

  • cliquez sur Normaliser les noms de logiciels dans le menu Outils ;

  • sélectionner le logiciel à standardiser, par exemple, toutes les différentes versions d’Adobe Flash Player ;

  • sur la colonne normalized, appuyez sur F2 pour attribuer un nom standardisé au logiciel sélectionné. Puis appuyez sur Entrée ;

Note

  • pour sélectionner plusieurs programmes, sélectionnez-les avec la combinaison de touches shift-up/down ;

  • vous pouvez aussi indiquer un logiciel comme windows update ou banned (Appuyez sur Espace dans la colonne correspondante) ;

  • cliquez sur Importer pour charger les changements depuis le serveur ;

  • cliquez sur Ecrire pour sauvegarder vos modifications ;

Vous pouvez maintenant exécuter vos requêtes avec ce nom standardisé.

Vidéo de démonstration