Directives de conception des éléments d'actif et de configuration | Inventaire, CMDB et EAM

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 gratuit
 
Fabian Klose, Roman Bauer et Matthias Scholze - 24 juillet 2020
Versio.io est une solution logicielle qui enregistre les données provenant d'applications tierces et de sources de données sous forme d'actifs ou d'éléments de configuration. Les données tierces d'origine doivent être optimisées afin de faciliter leur traitement ultérieur en améliorant leur lisibilité, leur pertinence et leur automatisation.
En développant des importateurs de données, notre équipe Versio.io a acquis une expérience précieuse en matière d'optimisation des données, que nous avons traduite en directives de conception à votre intention. Dans Versio.io, nous utilisons l'objet JSON comme format de données interne. Toutes les recommandations de conception sont basées sur l'optimisation des objets JSON pour les actifs individuels et les CI en conséquence.
 

Règles générales de conception

 

§1 Normalisation des valeurs d'attribut

§1 Normalisation des valeurs d'attribut
X

§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)

L'exemple suivant montre comment transformer l'objet JSON du format source original en un format optimisé pour Versio.io :
# 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
X

§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.

L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être enrichi et optimisé pour Versio.io :
# 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
X

§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.

L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# 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é
X

§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.

L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# 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

Certains attributs génèrent des modifications dans Versio.io en fonction de valeurs qui changent continuellement. Si ces modifications ne sont pas pertinentes ou si vous souhaitez éviter un nombre élevé de modifications, ces attributs doivent être supprimés ou ajustés en conséquence.
De plus, certains attributs ne fournissent aucune information pertinente. Ceux-ci doivent être supprimés.
L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# 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
X

§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.

L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# 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

Cette politique repose sur une raison purement technique. Les fonctions de comparaison des objets JSON ne peuvent pas distinguer si les objets contenus dans les tableaux ont changé ou si seul leur ordre dans le tableau a changé. La détection des changements étant au cœur de versio.io, cela doit être évité dans la mesure du possible.
Une transformation correspondante du tableau et des objets JSON contenus est dans la plupart des cas facilement possible et garantit une détection claire des modifications.
L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# 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
X

§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.

L'exemple suivant montre comment l'objet JSON provenant de la source de données d'origine peut être optimisé pour Versio.io :
# Data format of the original data source
	{
		"myAttribute": "myValue"
	}
		
# Optimized data instance for Versio.io
	{
		"myAttribute": "myValue",
		"relation": {
			"host": ["HOST-EFF871BC6C2DAA1E", "HOST-BC6C2DAA1EFEF871"]
		}
	}

 

We use cookies to ensure that we give you the best experience on our website. Read privacy policies for more information.