Melange d'indice Logstash (input twitter et rss) - Kibana

Bonjour, J'ai mis en place deux pipelines logstach via deux fichiers conf. L'un va chercher un flux rss l'autre des tweets. Dans les deux, j'ai une variable de type index différentes pour différencier évidement les données recueillies :

fichier conf 1 (rss)
input {
rss {
url => "https://feeds.xxxxxxx"
interval => 84600
}
}

output {
stdout { }

Elasticsearch {
user => "elastic"
password => "xxxxx"
hosts => ["192.168.1.100:9200"]
index => "rss"
}
}

fichier conf 2 (twitter) :
input {
twitter {
consumer_key => "xxx"
consumer_secret => "xxxxx"
oauth_token => "xxxxxx"
oauth_token_secret => "xxxxxx"
keywords => ["xxxx", "xxxxx", "xxxx", "xxxx"]
ignore_retweets => true
full_tweet => true
}
}

filter {
}

output {
stdout { }
Elasticsearch {
user => "elastic"
password => "xxxxx"
hosts => ["192.168.1.100:9200"]
index => "twitter"
document_type => "tweet"
}
}

Le pb lorsque les deux fichiers de conf sont dans le répertoire pipeline, l'indice twitter dans kibana se retrouve avec les éléments de l'indice rss.

Je ne comprends pas trop le souci sachant que testés individuellement tout fonctionne.

Si qqun a une idée.

Merci.

Personne n'a une petite idée :frowning: ? Je bloque, j'ai vérifié le fichier pipeline.yml j'ai l'impression que mes fichiers de conf sont bons mais j'ai tjrs cette "fusion" des index dès que j'ai plus d'un fichier de conf dans pipeline...

Je me réponds à moi meme. Le problème venait d'une option très discrète lancée au démarrage du container docker qui empêchait le multipipeline ... :face_with_symbols_over_mouth:

Bon ben en fait non les index se melangent toujours ... Bref si vous avez une idée.

Je me réponds à moi même à nouveau mais si ça peut aider des débutants comme moi...
Il faut pour éviter le mélange d'index lors de l'utilisation de plusieurs fichiers conf dans le répertoire pipeline et malgré avoir spécifier dans le fichier pipeline.yml le chemin de ces derniers, ajouter dans les fichiers de conf une condition dans l'output comme ceci :

input {
rss {
url => "xxxxxxx"
interval => 84600
type => "rss"
}
}

output {
if [type]=="rss" {
Elasticsearch {
hosts => "192.168.1.100:9200"
user => "elastic"
password => "xxxx"
index => "xxxxx"
}
}
}

Par contre j'ai un autre pb : les documents sont systématiquement dupliqués dans les indexes quels que soient les inputs ... Encore un mystère à résoudre ... Donc en gros quand le site que je suis à 100 feeds rss j'en ai 200 dans ELK même chose pour les tweets

Pour compléter et toujours dans l'optique de renseigner les débutants comme moi. Le pb venait du fait que j'avais copié les fichiers conf dans le répertoire pipeline dans lequel il y a déjà un fichier de conf par défaut. Dans ce cas, il traite deux fois vos fichiers de conf perso et remplit en double les index. La solution est simple : ne laisser que le fichier par défaut dans le répertoire pipeline et copier les autres dans un répertoire différent et préciser le chemin dans pipeline.yml.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.