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 d'unité de base standardisé afin d'en faciliter la lecture et d'améliorer le post-traitement. Il peut également être utile d'indiquer l'unité de base dans le nom de l'attribut. L'interface utilisateur Versio.io offre une fonction d'embellissement permettant de convertir les unités de base en un format lisible par l'homme.
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 : conversion 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"
}
# Optimized data format for Versio.io
{
"myDateUtc": 1573224441820,
"myVolumeBytes": 4294967296,
"myDistanceMeter": 42195
}§2 Enrichir et diviser les valeurs d'attribut

§2 Enrichir et diviser les valeurs d'attribut
Les attributs uniques contenant plusieurs informations doivent être divisés en plusieurs attributs. Chaque valeur d'attribut doit contenir exactement une 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 qui sont évidents au regard d'autres attributs.
# Data format of the original data source
{
"osInfo": "Ubuntu 18.04.06 OS-Kernel 4.5.4"
}
# Optimized 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"
}
# Optimized data format for Versio.io
{
"displayName": "John Doe",
"firstName": "John",
"lastName": "Doe"
}§4 Masquer les valeurs d'attributs pertinentes pour la sécurité ou à volume élevé

§4 Masquer les valeurs d'attributs pertinentes pour la sécurité ou à volume élevé
Les valeurs d'attributs pertinentes pour la sécurité (par exemple, mots de passe, jetons) doivent être masquées par conversion en valeurs de hachage lors de leur importation dans Versio.io. Cela empêche la consultation des valeurs pertinentes pour la sécurité et prévient toute utilisation abusive. Cependant, la conversion en valeur de hachage permet toujours de reconnaître la 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
}
# Optimized 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"
}
# Optimized data format for Versio.io
{
"dynamicMeasureLevel": "ok", # level defined by treshold
"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,
....
}
# Check_MK
{
"host": "prod-qdocker",
"maxRAM": "4 GB",
....
}
# Optimized 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"
}
]
}
# Optimized 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"
}
# Optimized data instance for Versio.io
{
"myAttribute": "myValue",
"relation": {
"host": ["HOST-EFF871BC6C2DAA1E", "HOST-BC6C2DAA1EFEF871"]
}
}