Probleme de limite temporelle / Kibana

Bonjour,

Je me tourne vers vous car j'ai un pb avec l'affichage de données. J'ai un corpus de données injectées correctement qui vont de 1997 à 2022 (le doc count indique 289000). Lorsque je souhaite faire un graphique avec en abscisse le timestamp et en ordonnées une valeur d'un champ ce graphique "s'arrête" début 2019 alors que quand je parcours mes données il ya bien des données présentes avant.
Si qqun a une idée (limitation de ELK peut être) ...
Merci.
Philippe

Est-ce que tu as sélectionné une période temporelle dans Kibana ? Peux-tu faire une capture d'écran ?

Bonjour, Dans Kibana je sélectionne une période justement et cela donne ceci qui me permet de constater que le graphique s'arrête en 2019 alors que les données vont jusque 1997.

Cordialement,

Peux-tu partager un document json de 1997 ?

Tu fais la somme de FATALITIES étalée dans le temps (@timestamp) mais si avant 2019 la valeur de chaque FATALITIES sur chaque doc est null, ça serait donc normal qu'on ait ce graphe.

Peux tu au lieu de faire un SUM juste faire un count en fonction du temps (@timestamp) ?

Bonjour à vous,

Merci pour vos réponses qui m'ont orienté dans ma recherche. Le count comme proposé par Ahmed effectivement donne le même résultat et un arrêt en 2019. Cela ne vient pas par contre de la variable Fatalities qui elle varie bien depuis 1997. En fait le problème vient de la variable timestamp qui est non pas la date de l'évènement (qui vont de 1997 à 2022) mais la date de saisie semble t il de la donnée. Ainsi entre 1997 et 2019 les données ont été saisie a posteriori (depuis cette année) date à partir de laquelle les données sont saisies en temps réel. Donc en gros tout ce qui est antérieur est noyé dans les données depuis 2019. La seule bonne date est dans un champ Event_date mais qui est au format texte. Il faut donc que je réindexe mes données en injectant le champ Event_Date (12-Jan-97 par exemple) en tant que champ date par contre je ne sais comment le faire.

Tu peux utiliser un ingest pipeline pour transformer tes documents.
Et utilise un Date Processor pour lire la date depuis Event_Date vers timestamp.

Genre:

{
  "description" : "Change the date",
  "processors" : [
    {
      "date" : {
        "field" : "Event_Date",
        "target_field" : "timestamp",
        "formats" : ["dd-MMM-yy"],
        "timezone" : "Europe/Paris"
      }
    }
  ]
}

Puis une fois que ton pipeline te plait, l'appeler depuis l'API _reindex. Voir

Ou utiliser les index template :

PUT _template/template_XXX
{
  "index_patterns": [
    "xxx" # <----  Preciser ici le nom de l'index destination du reindex
  ],
  "mappings": {
    "properties": {
      "Event_date ": {
        "type": "date",
        "format": "dd-MMM-yy",
        "locale": "fr-FR"
      }
    }
  }
}

Merci encore pour vos réponses.
Je comprends les fonctions que vous indiquez, mon souci, (je suis un novice en matière d'Elasticsearch) est par contre que je ne vois pas comment appliquer ce nouveau pipeline depuis Kibana. Est il possible par exemple de reprendre le fichier csv de départ et au moment de l'indexation changer le format dans le template pour event_date ?

Sinon dans Kibana j'ai bien vu ou et comment créer le pipeline mais je ne vois comment l'appliquer.

En changeant directement à l'importation du csv le champ event_date en date avec comme format "format": "dd-MMM-yy" j'ai réussi à intégrer toutes les dates mais hélas étant sur deux digit tout ce qui est avant 2000 est en fait transformé en 2000 + les deux digits comme le montre le graphique :

C'est ballot :slight_smile:

Tu peux essayer avec un format genre: dd-MMM-yy||dd-MMM-yyyy.

Merci pour votre aide, Finalement j'ai opté pour la solution à la source. J'ai reformaté le champ event_date dans un tableur et il est reconnu à présent directement comme une date par Elasticsearch.

Ok - super.

Dans tes prochaines injections, tu n'auras toujours pas la main pour modifier les fichiers depuis la source. Et dans ce cas, faut définir un mappings avant indexation

Effectivement, je vais devoir progresser dans la maitrise d'ELK notamment en matière de mise à jour des index puisque de nouvelles données doivent être ajoutées tous les mois :scream: