Guide de l'utilisateur Kibana. Visualisation. Partie 6

Un cinquième de la traduction de la documentation officielle de visualisation des données à Kibana.

Lien vers le matériel original: Guide de l'utilisateur de Kibana [6.6] »Visualiser

Lien vers la partie 1: Guide de l'utilisateur de Kibana. Visualisation. Partie 1
Lien vers la partie 2: Guide de l'utilisateur de Kibana. Visualisation. 2e partie
Lien vers la partie 3: Guide de l'utilisateur de Kibana. Visualisation. 3e partie
Lien vers la partie 4: Guide de l'utilisateur de Kibana. Visualisation. Partie 4
Lien vers la partie 5: Guide de l'utilisateur de Kibana. Visualisation. Partie 5

Contenu:

1. Graphiques Vega

2. Inspection des visualisations

Counts Vega


Avertissement Cette fonctionnalité est expérimentale et pourra être modifiée ou supprimée dans une future version. Elastic fera de son mieux pour résoudre les problèmes, mais les fonctions expérimentales ne sont pas prises en charge par les fonctions officielles de SLA GA.
Vous pouvez créer des visualisations des données Vega et VegaLite dans Kibana, à la fois hors ligne et en haut de la carte. Pour voir Vega en action, regardez cette courte vidéo de présentation .

Commencez avec Vega


Suivez ces étapes pour créer votre première visualisation Vega.

  1. Dans Kibana, sélectionnez Visualiser et ajoutez une visualisation Vega. Vous devriez voir le graphique par défaut.
  2. Essayez de changer la mark de line en point , area , bar , circle , square , ... (voir documentation ).
  3. Essayez le reste des visualisations Vega ou VegaLite. Vous devrez peut-être rendre les URL absolues, par exemple remplacer "url": "data/world-110m.json" par "url": "https://vega.imtqy.com/editor/data/world-110m.json" (voir note ci-dessous).
  4. À l'aide de l' utilitaire makelogs , créez des données logstash et essayez les exemples logstash ( N'utilisez pas makelogs sur un cluster de production).

Vega vs VegaLite


VegaLite est une version simplifiée de Vega, utile pour un démarrage rapide, mais avec un certain nombre de limitations. VegaLite est automatiquement converti en Vega avant exécution. Comparez logstash-simple_line-vega et logstash-simple_line-vegalite (les deux utilisent certaines données logstash d'Elasticsearch). Vous pouvez utiliser cet éditeur pour convertir VegaLite en Vega.

Requêtes Elasticsearch


Par défaut, un élément de données Vega peut utiliser des données internes et externes avec le paramètre "url" . Kibana ajoute la prise en charge des requêtes Elasticsearch directes en rechargeant la valeur d' "url" .
Voici un exemple de requête Elasticsearch qui compte le nombre de documents dans tous les index. La requête utilise le champ @timestamp pour filtrer la plage de temps et la diviser en segments d'histogramme.

 // An object instead of a string for the url value // is treated as a context-aware Elasticsearch query. url: { // Filter the time picker (upper right corner) with this field %timefield%: @timestamp // Apply dashboard context filters when set %context%: true // Which indexes to search index: _all // The body element may contain "aggs" and "query" subfields body: { aggs: { time_buckets: { date_histogram: { // Use date histogram aggregation on @timestamp field field: @timestamp // interval value will depend on the daterange picker // Use an integer to set approximate bucket count interval: { %autointerval%: true } // Make sure we get an entire range, even if it has no data extended_bounds: { min: { %timefilter%: "min" } max: { %timefilter%: "max" } } // Use this for linear (eg line, area) graphs // Without it, empty buckets will not show up min_doc_count: 0 } } } // Speed up the response by only including aggregation results size: 0 } } 

Le résultat complet a le type de structure suivant:

 { "aggregations": { "time_buckets": { "buckets": [{ "key_as_string": "2015-11-30T22:00:00.000Z", "key": 1448920800000, "doc_count": 28 }, { "key_as_string": "2015-11-30T23:00:00.000Z", "key": 1448924400000, "doc_count": 330 }, ... 

Notez que "key" est un horodatage Unix et peut être utilisé sans conversion par des expressions de date Vega.

Pour la plupart des graphiques, nous n'avons besoin que d'une liste de valeurs de segment, nous utilisons donc le format: {property: "aggregations.time_buckets.buckets"} expression format: {property: "aggregations.time_buckets.buckets"} pour nous concentrer uniquement sur les données dont nous avons besoin.

La demande peut être spécifiée avec une plage individuelle et un panneau d'informations contextuelles. Cette requête équivaut à "%context%": true, "%timefield%": "@timestamp" , sauf pour le décalage de la plage horaire il y a 10 minutes.

 { body: { query: { bool: { must: [ // This string will be replaced // with the auto-generated "MUST" clause "%dashboard_context-must_clause%" { range: { // apply timefilter (upper right corner) // to the @timestamp variable @timestamp: { // "%timefilter%" will be replaced with // the current values of the time filter // (from the upper right corner) "%timefilter%": true // Only work with %timefilter% // Shift current timefilter by 10 units back shift: 10 // week, day (default), hour, minute, second unit: minute } } } ] must_not: [ // This string will be replaced with // the auto-generated "MUST-NOT" clause "%dashboard_context-must_not_clause%" ] } } } } 

"%timefilter%" peut également être utilisé pour déterminer une valeur minimale ou maximale unique. Comme indiqué ci-dessus, extended_bounds dans date_histogram peut être défini avec deux valeurs - minimum et maximum. Au lieu de valeurs codées en dur, vous pouvez utiliser "min": {"%timefilter%": "min"} , qui sera écrasé au début de la plage de temps actuelle. shift valeurs de shift et d' unit sont également prises en charge. L '"intervalle" peut être défini dynamiquement, en fonction de la plage actuellement sélectionnée: "interval": {"%autointerval%": 10} essaiera d'obtenir environ 10-15 points de données (segments).

Fichiers de carte élastique


Il s'agit de la possibilité d'accéder aux fichiers Elastic Map Service selon un mécanisme.

 url: { // "type" defaults to "elasticsearch" otherwise type: emsfile // Name of the file, exactly as in the Region map visualization name: World Countries } // The result is a geojson file, get its features to use // this data source with the "shape" marks // https://vega.imtqy.com/vega/docs/marks/shape/ format: {property: "features"} 

Vega avec carte


La carte Kibana par défaut peut être utilisée comme base pour le graphique Vega. Pour l'activer, le graphique doit définir type=map dans la configuration de l'hôte.

 { "config": { "kibana": { "type": "map", // Initial map position "latitude": 40.7, // default 0 "longitude": -74, // default 0 "zoom": 7, // default 2 // defaults to "default". Use false to disable base layer. "mapStyle": false, // default 0 "minZoom": 5, // defaults to the maximum for the given style, // or 25 when base is disabled "maxZoom": 13, // defaults to true, shows +/- buttons to zoom in/out "zoomControl": false, // defaults to true, disables mouse wheel zoom "scrollWheelZoom": false, // When false, repaints on each move frame. // Makes the graph slower when moving the map "delayRepaint": true, // default true } }, /* the rest of Vega JSON */ } 

Cette visualisation embarquera automatiquement une projection appelée "projection" . Utilisez-le pour calculer la position de toutes les balises géo-orientées. De plus, vous pouvez utiliser la longitude, la latitude et l'échelle. Ces signaux peuvent être utilisés dans le graphique ou mis à jour pour modifier le positionnement de la carte.

Débogage


Console de débogage du navigateur


Utilisez les outils du navigateur pour le débogage (par exemple, F12 ou Ctrl + Maj + J dans Chrome) pour inspecter la variable VEGA_DEBUG : * view - accès à View the Vega object. Consultez le Guide de débogage Vega pour savoir comment inspecter les données et les signaux lors de l'exécution. Pour VegaLite, VEGA_DEBUG.view.data('source_0') obtient le jeu de données principal. Pour Vega, cela utilise un nom de données, qui est spécifiquement dans votre spécification Vega. * Spécification vega_spec du graphe Vega JSON après quelques modifications de Kibana. Dans le cas de VegaLite, il s'agit de la sortie du compilateur VegaLite. * vegalite_spec - s'il s'agit d'un graphe VegaLite, la spécification JSON du graphe avant de compiler VegaLite

Les données


Si vous utilisez une requête Elasticsearch, assurez-vous que les données reçues correspondent à vos attentes. La façon la plus simple de voir cela est d'utiliser l'onglet «mise en réseau» dans les outils de débogage de votre navigateur (par exemple, F12). Modifiez un peu le graphique pour qu'il fasse une requête de recherche et examine la réponse du serveur. Une autre approche consiste à utiliser l'onglet Kibana Dev Tools - placez le nom de l'index à l'intérieur de la première ligne: GET <INDEX_NAME>/_search , et ajoutez votre requête à la ligne suivante (uniquement la valeur du champ "query" ).
Si vous devez partager le graphique avec quelqu'un, vous pouvez copier la réponse de la chaîne de données sur gist.github.com , éventuellement avec l'extension .json, utiliser le bouton [raw] et utiliser cette URL directement dans votre graphique.
Pour empêcher Vega d'utiliser des sources de données non ES, ajoutez vega.enableExternalUrls: false au fichier kibana.yml.

Liens utiles



Utilisation des exemples Vega et VegaLite


Lorsque vous utilisez les exemples Vega et VegaLite , vous devez modifier la section «données» pour utiliser une URL absolue. Par exemple, remplacez "url": "data/world-110m.json" par "url": "https://vega.imtqy.com/editor/data/world-110m.json" . De plus, dans les exemples réguliers de Vega, ils utilisent le modèle de mise en page à "autosize": "pad" , et Kibana utilise fit . Supprimez toutes les valeurs de height autosize , de width et de height . Voir ci-dessous dimensions et positionnement.

Options de configuration supplémentaires


Ces options sont spécifiques à Kibana. Le support de carte a des options de configuration supplémentaires.

 { config: { kibana: { // Placement of the Vega-defined signal bindings. // Can be `left`, `right`, `top`, or `bottom` (default). controlsLocation: top // Can be `vertical` or `horizontal` (default). controlsDirection: vertical // If true, hides most of Vega and VegaLite warnings hideWarnings: true // Vega renderer to use: `svg` or `canvas` (default) renderer: canvas } } /* the rest of Vega code */ } 

Taille et position


Vega et VegaLite.

Par défaut, les graphiques Vega dans Kibana utiliseront le autosize = { type: 'fit', contains: 'padding' } pour les graphiques Vega et VegaLite. Le modèle d' fit utilise tout l'espace disponible, en ignorant les valeurs de width et de height , mais prend en compte les valeurs de retrait. Vous pouvez remplacer ce comportement en spécifiant une valeur de autosize différente.

Vega sur la carte.

Tous les graphiques Vega autosize , la width , la height et le padding utilisant le modèle d' fit retrait.

Inspection de visualisation


De nombreuses visualisations vous permettent d'inspecter les données sous-jacentes à la visualisation.
Pour inspecter la visualisation, cliquez sur le bouton Inspecter dans l'éditeur ou sélectionnez Inspecter dans le menu du panneau Tableau de bord.

L'écran initial affiche les données de base pour la visualisation. Vous pouvez charger des données sous forme de fichier CSV (valeurs séparées par des virgules) aux formats formaté ou brut . Formaté charge les données au format tableau. Raw charge les données telles que présentées - dates sous forme d'horodatages, nombres sans millièmes séparateurs, etc.

Pour afficher les demandes qui collectent des données, sélectionnez Demandes dans le menu Affichage en haut à droite.

Les vues disponibles dépendent de la visualisation inspectée.

Source: https://habr.com/ru/post/fr442278/


All Articles