Le GRLOADER a pour but d'importer les informations sur les CI dans une CMDB. Il utilise des documents XML en entrée (R12.6) et depuis la 12.7 il est possible de charger des documents spreadsheet ( XLS ) et des fichiers CSV.
Le GRLOADER est utilisable à partir d'une invite de commande ou à l'aide d'un fichier .bat ou .cmd.
Tous les utilisations du GRLOADER demandent 3 paramètres obligatoires
-uid_utilisateur-pmot de passe utilisateur-surl suivi du n° de port du serveur qui exécute les services web.
###Exemple
grloader -u servicedesk -p ServiceDesk - http://localhost:8080
Le chargement d'un CI utilise l'option -ipour indiquer le nom du fichier d'entrée en XML
Le répertoire suivant contient un ensemble de fichiers XML, dépourvus de données ils peuvent être utilisés pour préparer un chargement : nx_root\cmdb\data\federationAdapters\templates\
Exemple de fichier XML contenant la définition d'un serveur
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<GRLoader>
<ci>
<name>Server_1</name>
<class>Serveur</class>
<family>Matériel.Serveur</family>
<alarm_id>1</alarm_id>
<disk_space>5</disk_space>
<carrier></carrier>
<phys_mem>7</phys_mem>
</ci>
</GRLoader>Il est possible de tester le chargement des données afin de valider la syntaxe du fichier de chargement et le nombres de CI qui vont être mis à jour ou créés.
grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers.xml
Cette commande renvoie la réponse suivante :
11:03:15.931 CI and Relationship Loader for CA Service Desk Manager R12.6.000
|
Results:
Read Skipped Inserts Updates Errors Warnings
CI 1 1 0 0 0 0
Relation 0 0 0 0 0 0
GRLoader completed.
11:03:17.924 GRLoader ended
Pour ajouter un ou plusieur CI dans la CMDB il est nécessaire d'utiliser l'option -n :
grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers.xml -n -E
Note : L'option -E est utilisée ici pour écraser le fichier servers_err.xml qui peut être généré à chaque utilisation du GRLOADER
La commande renvoie la réponse suivante :
11:04:14.437 CI and Relationship Loader for CA Service Desk Manager R12.6.000
|
Results:
Read Skipped Inserts Updates Errors Warnings
CI 1 0 1 0 0 0
Relation 0 0 0 0 0 0
GRLoader completed.
11:04:17.277 GRLoader ended
La mise à jour d'un ou plusieurs CI dans la CMDB est effectuer lors de l'utilisation de l'option -a :
grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers.xml -a -E
La command répond :
11:12:30.419 CI and Relationship Loader for CA Service Desk Manager R12.6.000
|
Results:
Read Skipped Inserts Updates Errors Warnings
CI 1 0 0 1 0 1
Relation 0 0 0 0 0 0
GRLoader completed with warnings.
11:12:31.801 GRLoader ended
A noter que le warning est spécifier dans le fichier servers_err.xml en commentaire, un exemple ci-dessous
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<GRLoader>
<ci>
<!--WARNING: Attributes(mem_capacity number_net_card phys_mem proc_speed proc_type server_type ) do not apply to class(Service d'infrastructure) family(Service d'entreprise)-->
<id>06FDBA420727254D821C763F8DB14F27</id>
<name>Server_1</name>
<class>Service d'infrastructure</class>
<mem_capacity>24Go</mem_capacity>
<number_net_card>123456</number_net_card>
<phys_mem>16Go</phys_mem>
<proc_speed>3GHz</proc_speed>
<proc_type>QuadCore</proc_type>
<server_type>Intel</server_type>
</ci>
</GRLoader>Comme vu précédemment si des erreurs surviennent lors de l'exécution GRLOADER, le noeud de CI ou de relation en échec est écrit dans le fichier d'erreurs. Pour corriger le problème il est nécessaire de :
- Modifier le fichier XML
- Relancer le GRLOADER
A noter
-epermet de spécifier le nom de votre fichier d'erreurs.-maxerroret-maxwarnpermettent de spécifier le nombre maximal d'erreurs ou d'avertissements pouvant survenir, respectivement, avant d'ignorer les CI ou les relations.
Pour créer une relation entre 2 items, il est nécessaire de créer un noeud relation.
Dans l'exemple suivant le Server_1 va être lié au Server_2
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<GRLoader>
<ci>
<name>Server_1</name>
<class>Serveur</class>
<family>Matériel.Serveur</family>
<alarm_id>1</alarm_id>
<disk_space>5</disk_space>
<carrier></carrier>
<phys_mem>7</phys_mem>
</ci>
<ci>
<name>Server_2</name>
<class>Serveur</class>
<family>Matériel.Serveur</family>
<alarm_id>1</alarm_id>
<disk_space>5</disk_space>
<carrier></carrier>
<phys_mem>7</phys_mem>
</ci>
<relation>
<type>contient</type>
<provider>
<name>Server_1</name>
</provider>
<dependent>
<naame>Server_2</name>
</dependent>
</relation>
</GRLoader>Lancer la commande :
grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers.xml -a -E
Attention Le type de relation est très spécifique, il est est nécessaire de consulter la documentation pour plus de détails.
Quelques exemples de type de relations
- administre : est administré par une entité responsable.
- approuve : est approuvé par une entité responsable approuve.
- autorise : est autorisé par une entité responsable autorise
- rédige : est rédigé par une personne responsable
- sauvegarde : est sauvegardé par une autre entité.
- communique avec : communique avec une autre entité ...
Attention les mots clefs des relations sont spécifiques à la langue d'installation de SDM : Install française => mots clefs en français Install US => mots clefs US
"name","class","alarm_id","disk space","carrier","phys_mem"
"Server_3","Serveur","1","5","","7"
"Server_4","Serveur","2","6","",""
Il est possible d'utiliser un fichier de translation qui va permettre de convertir un nom de colonne en un nom d'attribut. Ici on crée le fichier servers.rul
<ruleset>
<rule><attribute>attributename</attribute>
<from>disk space</from><to>hard_drive_capacity</to>
<rulename>rule12</rulename></rule>
</ruleset>
```
#### Ajouter un CI
Lancer le GRLOADER :
`grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers.csv -tf servers.rul -n -E`
#### Ajouter une relation **(Ne fonctionne pas)**
D'après la documentation et en extrapolant de la partie **chargement des données JDBC**, il serait possible d'ajouter une relation via un fichier csv en ajoutant une colonne au nom de la relation désirée ( cf. la liste des relations possible ).
````csv
"name","contient"
"Server_3","Server_4"
** Attention dans l'exemple ci-dessus la relation indiquée est spécifié en anglais, le nom de la relation doit être spécifié dans la langue d'installation de SDM**
Lancer le GRLOADER :
grloader -u servicedesk -p ServiceDesk -s http://localhost:8080 -i servers_relations.csv -n -E
25/10/2014 Après plusieurs tests je ne parviens pas à charger une relation au format CSV
-ioption à utiliser pour charger un fichier csv, celui-ci doit avoir l'extension 'csv'-csvfnom_du_fichier : Spécifier le nom du fichier lorsque celui-ci n'a pas d'extension 'csv'-csvsep:spécifier le séparateur (,par défaut )-csvesc: indique quand le fichier source utilise un caractère \-csvcom: indique quand le fichier source utilise un caractère #-csvquote: indique quand le fichier source utilise un caractère "
Il est possible de spécifier les options du GRLOADER dans un fichier de configuration.
Au lieu d'utiliser la commande : GRLoader -u servicedesk -p ServiceDesk -i servers.xml -a -n -E -maxerror 10 -maxwarn 10 -s http://localhost:8080
On peut utiliser GRLoader -cfg myconfigfile.cfg -i myinputfile.xml
avec le fichier de configuration suivant :
grloader.userid=servicedesk
grloader.password=ServiceDesk
grloader.server=http://localhost:8080
grloader.allowupdate=true
grloader.allowinsert=true
grloader.maxerror=10
grloader.maxwarn=10
grloader.inputfile=servers.xml
grloader.overwriteerrorxml=true
Voir la documentation pour plus de détails sur les options existantes.