Je suis débutant sur Elastic Stack, après l'installation et l'utilisation de quelques dashboards j'ai voulu intégrer quelques modules.
Avec Filebeat mon problème est que je récupère des logs postgresql (en suivant ce qui est proposé dans kibana) et ensuite j'importe mon dashboard (filebeat setup) je récupère bien les logs mais impossible de les afficher.. Voici le message "d'erreur" : Provided Grok expressions do not match field value
Merci pour ton aide! Je n'ai toujours pas de solutions, il y a bien un problème de date.
Mon @Timestamp de mon json n'est pas bon, après modification et ajout de "Europe/Paris" en Timezone, l'heure change mais ne match toujours pas car il est une heure de moins que le fichier..
Un problème a la fois. Ton poste initial été a propos d'une erreur Grok?
Juste pour confirmer ce problème est résolue ?
Si tu peux mettre ta solution ça peux aider d'autres personnes
Si ton problème initial est résolu maintenant t'as un problème de timezone (de ce que je comprends de ta nouvelle question).
La modification de Timezone a été faite dans Kibana ?
Tu peux interroger directement ton index pour comprendre si l'heure dans ton index est correct si c'est le cas c'est un problème d'affichage et donc faut effectivement chercher dans la configuration de Kibana.
Alors, mon problème du début est toujours présent mais suppose que le problème viens peux être de la Timezone ? Je vous joins le screen d'une requête par Filebeat.
Ce que je récupère dans mon dashboard mais qui n'est pas affiché :
Le json associé, on remarque que dans "message" l'heure est bonne, mais celle ligne viens directement de mes logs avec la bonne timezone. Parcontre je sais pas si c'est normal mais plus bas le @timestamp n'est pas bon, normal ou pas du tout? Sinon comment le modifier?
Je pense qu'il faut commencer par corriger l'erreur grok pour formater correctement la date.
Si tu utilises Logstatsh tu peux regarder ici y'a une discussion sur comment debugger Grok:
Si c'est avec ingest (i.e sans Logstatsh) j'avais eu un problème de date avec le plugin nginx mais j'ai pas mes notes sous la main, je peux recherche comment j'ai fait pour debugger.
En faite je pensais avoir trouvé le graal pour debugger avec ingest mais j'avais juste suivi la doc
Pas besoin de logstash ingest est suffisant (du moins pour formater la date) , faut juste que tu GET ton pipeline pour postgres et tu utilise simulate avec un doc qui contienne tes données, tu changes dans tous les sens le pipline jusqu'a ce que ça passe.
La doc est suffisamment claire et avec la dernière version t'as beaucoup plus de processors.
J'ai du mal à comprendre, en gros je GET mon pipeline (GET _ingest/pipeline), mais je vois pas trop comment exécuter le simulate et à quoi il sert? c'est simplement pour tester non? en gros je fais la simulate avec mes conditions derrière ?
Tu fais une requete simulate avec la définition et un document comme explique dans la doc.
Ca devrait te renvoyer le même message que ton premier post
Provided Grok expressions do not match field value
A partir de la et avec l'aide des processors tu devrais pouvoir debuger et adapater a ton format de donnees une fois que ton simulate te retourne une réponse satisfaisante tu update ton pipeline.
J’espère que j'ai été claire dans mes expliquements...
POST _ingest/pipeline/_simulate
{
"pipeline" : {
// pipeline definition here
},
"docs" : [
{ "_source": {/** first document **/} },
{ "_source": {/** second document **/} },
// ...
]
}
D'ailleurs d’après ta capture d’écran l'erreur te dis qu'il manque la propriété docs, tu rajoutes ton doc comme ci-dessus.
Si t'avais copié un contenu au lieu de mettre une capture d’écran j'aurai pu copier coller et formater un exemple...
Pour ta commande utilise:
POST _ingest/pipeline/_simulate
au lieu de POST _ingest/pipeline/filebeat-6.6......
Je ne sais pas quel définition de pipeline va être prise en compte... bref vaut mieux être bête et discipliné et suivre la syntaxe de la doc.
Désolé si je ne suis pas assez claire j'ai du omettre des phases et c'est pas évident quand on débute, hésite pas a redemander.
Si tu copie du code ça sera plus facile pour t'aider que les captures d’écran.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.