Le client du socket code les données envoyées à l'agent.
Il est essentiel de bien comprendre comment le client du socket code les données envoyées à l'agent.
Caractères spéciaux
Les données envoyées à l'agent ne doivent contenir aucun caractère de retour à la ligne sauf à la fin de chaque événement ou donnée échantillonnée. Les caractères de retour à la ligne présents dans des valeurs d'attribut doivent être remplacés par un autre caractère ou codés selon le (
Tableau 1) ci-dessous.
Vous devez également veiller à ne pas rompre la syntaxe XML avec les valeurs d'attribut. Le tableau répertorie les caractères qui doivent être codés s'ils font partie des valeurs d'attribut :
Tableau 1. Caractères à coder dans des valeurs d'attributs
| Caractère |
En-tête |
& |
& |
< |
< |
> |
> |
“ |
" |
' |
' |
\n |
|
Remarque : L'agent utilise le caractère de retour à la ligne pour séparer les réponses reçues d'un client. Tout caractère de retour à la ligne inattendu nuit à la bonne analyse des données.
L'agent n'étant pas doté d'un analyseur syntaxique XML complet, n'utilisez pas de codage spécial pour les caractères qui ne se trouvent pas dans le (
Tableau 1). Par exemple, ne codez pas avec
¢ ou
¢ le signe centime
¢.
Jeux de caractères
Outre le codage des caractères spéciaux, l'agent doit savoir quelle page de codes a été utilisée pour coder vos données. Définissez chaque groupe d'attributs du socket pour indiquer si vous envoyez les données à l'agent comme données UTF-8 ou page de codes locale. Soyez conscient de la manière dont votre client envoie les données. Si vous utilisez un client écrit en Java™, indiquez UTF-8 comme codage dans le programme d'écriture utilisé pour envoyer les données à l'agent. Définissez UTF-8 comme page de codes du groupe d'attributs. Page de codes locale correspond à la page de codes locale de l'agent. Si les données sont envoyées sur un socket distant, elles doivent se conformer à la page de codes locale de l'agent ou utiliser UTF-8.
Données numériques
Soyez conscient de la manière dont vous formatez vos valeurs d'attributs numériques. Les valeurs numériques envoyées à l'agent ne doivent contenir aucun caractère spécial. Le séparateur de milliers est un exemple. Entre autres exemples, citons les symboles de devises ou les caractères qui décrivent l'unité d'une valeur. Lorsque l'agent ne parvient pas à analyser des données numériques, il consigne une erreur indiquant l'anomalie. Le code d'erreur du statut de l'objet de performances n'est pas défini lorsque l'analyse d'un attribut échoue.
Voici un exemple de message d'erreur consigné dans le journal de l'agent :
(4D3F1FD6.0021-9:utilities.cpp,205,"parseNumericString") Caractères incorrects :00:04 \
détectés lors de l'extraction de valeur numérique à partir de 00:00:04, avec retour de 0.000000
Remarque : Pour en savoir plus sur le mode de formatage d'un attribut d'horodatage,
voir (
Horodatage).