Sélection de tous les assets et des groupes auxquels ils appartiennent
SELECT host.hostname,
host_group.name
FROM host,
host_group,
host_group_reference
WHERE host.id=host_group_reference.host_id
AND host_group.id=host_group_reference.host_group_id
ORDER BY host.hostname DESC;
Sélection des groupes d’assets
SELECT name FROM host_group;
Affichage du type de données dans une colonne d’une table donnés
SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_name' AND COLUMN_NAME = 'col_name';
Insérer un nouveau groupe
Génération de l’ID :
public static function uuid($format = 'int'){
$chars = md5(uniqid(mt_rand(),TRUE));
if ($format == "dashes")
{
$uuid = substr($chars,0,8).'-'.substr($chars,8,4).'-'.substr($chars,12,4).'-'.substr($chars,16,4).'-'.substr($chars,20,12);
}else{
$uuid = strtoupper($chars);
}
return $uuid;
}
Mettre le sql en mode debug pour voir les requêtes exécutées lors de la création d’un groupe.
INSERT INTO host_group (id,
ctx,
same_host,
name,
threshold_c,
threshold_a,
rrd_profile,
descr,
permissions,
owner)
VALUES (unhex(''),
unhex('048CBAC03F8D11E6B140005056A88E78'),
'0',
'test',
'0',
'0',
NULL,
'groupe de test',
'',
'');
Afficher tous les plugins et les exporter dans un fichier
SELECT plugin_id,
sid,
name
FROM plugin_sid
WHERE name LIKE'%palo%'
LIMIT 10
INTO OUTFILE '/var/lib/mysql-files/plugins.csv'
FIELDS TERMINATED BY ';'
ENCLOSED BY '"' LINES TERMINATED BY '\n';
Attention, avant de pouvoir exporter les résultats dans un fichier, il faut ajouter la ligne secure_file_priv=”” au fichier /etc/mysql/my.cf puis redémarrer le serveur MySQL.
Afficher uniquement le nom des colonnes
SHOW columns FROM table_name;
Convertir une adresse IP initialement en varbinary(16) en texte
SELECT INET6_NTOA(host_ip); -- output: 127.0.0.1 (string);
Lister les colonnes d’une table
SHOW columns FROM <table_name>;
Compter le nombre d’évènements pour un plugin donné
SELECT count(*) FROM plugin_sid WHERE plugin_id=****;
Exporter le résultat d’une commande dans un fichier
$> mysql -u root -p -e"" > /tmp/