Directives relatives à la conception des éléments d'actif et de configuration
Une base solide pour les initiatives en matière d'inventaire, de CMDB et d'EAM
En brefRequest une démoCommencez un essai gratuitRègles générales de conception
§1 Normalisation des valeurs d'attribut

§1 Normalisation des valeurs d'attribut
Les valeurs des attributs doivent être enregistrées dans un format standardisé d'unité de base afin de faciliter la lisibilité et d'optimiser le traitement ultérieur. À cet égard, il peut également être utile d'indiquer l'unité de base dans le nom de l'attribut. L'interface utilisateur de Versio.io propose une fonction de mise en forme permettant de reconvertir les unités de base dans un format lisible par l'utilisateur.
Tous les attributs avec des valeurs unitaires de base doivent être convertis dans ces unités.
- Données temporelles : conversion en temps universel coordonné (UTC) en millisecondes
- Volume de données : convertir en octets
- Distance : convertir en millimètres ou en mètres (selon le cas d'utilisation)
- Poids : convertir en grammes ou en kilogrammes (selon le cas d'utilisation)
# Data format of the original data source
{
"myDate": "Fri, 08-11-19, 3:47 PM",
"myVolume": "4 GB",
"myDistance": "42,195 km"
}
# Optimised data format for Versio.io
{
"myDateUtc": 1573224441820,
"myVolumeBytes": 4294967296,
"myDistanceMeter": 42195
}§2 Enrichir et fractionner les valeurs d'attribut

§2 Enrichir et fractionner les valeurs d'attribut
Les attributs contenant plusieurs éléments d'information doivent être scindés en plusieurs attributs. Chaque valeur d'attribut doit contenir exactement un élément d'information.
L'évaluation des données est plus facile lorsque chaque information correspond à un attribut. Cela est utile pour l'analyse des stocks et la définition des règles de vérification dans la gouvernance et la conformité.
Les importateurs peuvent également enrichir les données en ajoutant des attributs pouvant être dérivés d'autres attributs.
# Data format of the original data source
{
"osInfo": "Ubuntu 18.04.06 OS-Kernel 4.5.4"
}
# Optimised data format for Versio.io
{
"osType": "Linux", // enrichment
"osName": "Ubuntu",
"osVersion": "18.04.06",
"kernelVersion": "4.5.3"
}§3 Définir un attribut de nom d'affichage

§3 Définir un attribut de nom d'affichage
Dans Versio.io, vous pouvez sélectionner le nom affiché d'un élément d'actif ou de configuration. Il s'affiche comme titre d'une instance unique et dans toute référence ou liste spécifiée dans l'interface Web. Cela permet à l'utilisateur de comprendre plus facilement de quelle instance il s'agit.
Il arrive parfois qu'aucun attribut de la source de données d'origine ne convienne pour le nom d'affichage. Dans ce cas, il est utile d'ajouter un nouvel attribut dans l'importateur, dans lequel un nom court significatif est créé à partir de plusieurs autres attributs.
# Data format of the original data source
{
"firstName": "John",
"lastName": "Doe"
}
# Optimised data format for Versio.io
{
"displayName": "John Doe",
"firstName": "John",
"lastName": "Doe"
}§4 Masquer les valeurs d'attributs sensibles sur le plan de la sécurité ou à volume élevé

§4 Masquer les valeurs d'attributs sensibles sur le plan de la sécurité ou à volume élevé
Les valeurs d'attributs sensibles sur le plan de la sécurité (par exemple, les mots de passe, les jetons) doivent être masquées par conversion en valeurs de hachage lors de leur importation dans Versio.io. Cela empêche la consultation de ces valeurs sensibles et prévient toute utilisation abusive. Toutefois, la conversion en valeur de hachage permet tout de même de détecter toute modification de la valeur.
Nous utilisons la même procédure pour stocker dans Versio.io les valeurs d'attributs illisibles par l'homme et volumineuses. Cela réduit le volume de données à stocker et facilite leur affichage dans l'interface utilisateur.
# Data format of the original data source
{
"password": "MySecretPassword",
"rawNumericList": [10,45,23,67,98, ...] # a really long series of values that are not readable by humans
}
# Optimised data format for Versio.io
{
"passwordHash": "952729c61cab7e01e4b5f5ba7b95830d2075f74b",
"rawNumericListHash": "77c6211491dd37154e42004266f7a6c6b12b4e48"
}§5 Supprimer les attributs inappropriés
# Data format of the original data source
{
"actualTime": "Fri, 08-11-19, 3:47 PM", # changed continuously
"dynamicMeasure": 10, # changed continuously
"constantAttribute": "CONSTANT-VALUE" # constant for every instance and change
"otherAttribute": "myValue"
}
# Optimised data format for Versio.io
{
"dynamicMeasureLevel": "ok", # level defined by threshold
"otherAttribute": "myValue"
}§6 Diviser et combiner des instances de données

§6 Diviser et combiner des instances de données
Lors de l'importation de données, les instances provenant d'une source de données peuvent être divisées et combinées afin de structurer ou de condenser les informations dans Versio.io de manière plus significative.
Le mot « diviser » fait référence à la division d'un élément d'actif ou de configuration en plusieurs instances. Par exemple, vous pouvez diviser les informations relatives à un schéma de base de données en une instance de base de données et ses instances de table.
Le mot « combiner » signifie le contraire. Lors de l'importation, vous créez une instance dans Versio.io où les attributs sont basés sur plusieurs instances provenant de différentes sources de données. Par exemple, vous pouvez créer un hôte dans lequel les valeurs d'attributs provenant de différents produits de surveillance sont combinées en un seul élément de configuration.
La figure de droite montre un exemple de schéma de base de données qui a été séparé en base de données et tables associées dans Versio.io. Cette structure plus fine facilite la reconnaissance et le traitement des détails.
# Data instances from different data sources
# Dynatrace
{
"host": "prod-qdocker",
"cpuCores": 4,
....
}
# Checkmk
{
"host": "prod-qdocker",
"maxRAM": "4 GB",
....
}
# Optimised data instance for Versio.io
{
"host": "prod-qdocker",
"cpuCores": 4,
"maxRAM": "4 GB",
....
}§7 Évitez les objets JSON dans les tableaux
# Data format of the original data source
{
"managementZones": [
{
"id": "6a98d7bc-abb9-44f8-ae6a-73e68e71812a",
"name": "MyName-1",
"description": "MyDescription-1"
}
]
}
# Optimised data format for Versio.io
{
"managementZones": {
"6a98d7bc-abb9-44f8-ae6a-73e68e71812a": {
"name": "MyName-1",
"description": "MyDescription-1"
}
}
}§8 Étendre les actifs et les CI pour inclure les relations entre eux et créer une topologie

§8 Étendre les actifs et les CI pour inclure les relations entre eux et créer une topologie
La cartographie des relations entre les actifs ou les éléments de configuration pendant le processus d'importation dans Versio.io augmente considérablement la qualité des informations et les possibilités de traitement en aval.
Nous vous recommandons vivement, chaque fois que vous importez des données, de vérifier dans quelle mesure elles peuvent être liées aux données existantes dans Versio.io.
Il s'est avéré utile d'étendre l'objet de données JSON d'origine sous la forme suivante (voir également l'exemple ci-dessous) :
- « relation » : crée un attribut racine distinct dans un objet JSON pour stocker toutes les relations.
- « <nom-entité> » : créez un attribut avec le nom de l'entité et placez-le sous « relation ».
- ['<instance-id>']: crée toutes les relations sous forme d'ID dans un tableau de l'attribut d'entité correspondant.
# Data format of the original data source
{
"myAttribute": "myValue"
}
# Optimised data instance for Versio.io
{
"myAttribute": "myValue",
"relation": {
"host": ["HOST-EFF871BC6C2DAA1E", "HOST-BC6C2DAA1EFEF871"]
}
}