Child pages
  • Centos - Installation Logstash/Elasticsearch
Skip to end of metadata
Go to start of metadata

Cette documentation est collaborative, n'hésitez pas à ajouter votre propre retour d'expérience qui fera certainement gagner du temps à d'autres. Merci d'avance

 

Logstash

Nous utilisons des données issues de LDAP pour enrichir les logs traités par Agimus-NG. Afin de pouvoir faire cela, il faut ajouter un plugin à Logstash lui permettant d'interroger LDAP. Les étapes d'installation sont les suivantes :

  1. Création du fichier /etc/yum.repos.d/logstash.repo

    /etc/yum.repos.d/logstash.repo
    [logstash-2.4]
    name=logstash repository for 2.4 packages
    baseurl=https://packages.elastic.co/logstash/2.4/centos
    gpgcheck=1
    gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    
  2. Installation via yum

    yum install logstash
  3. Installation des plugins nécessaires pour logstash
    Ce sont des plugins additionnels pour Logstash nécessaires aux traitements à réaliser.

    /opt/logstash/bin/logstash-plugin install logstash-input-LDAPSearch
    /opt/logstash/bin/logstash-plugin install logstash-filter-translate
    /opt/logstash/bin/logstash-plugin install logstash-filter-cidr
    /opt/logstash/bin/logstash-plugin install logstash-filter-elasticsearch
     Inutile dans les versions récentes

    Modification du plugin elasticsearch

    Cette modification permet d'ajouter les paramètres index, type et fail_on_error. Les 2 premiers permettent de limiter le temps des requêtes, ce qui est intéressant quand les données commencent à prendre de l'importance. Fail_on_error nous permet de poursuivre le traitement si une recherche est en erreur.

     

    /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-elasticsearch-3.0.2/lib/logstash/filters/elasticsearch.rb
    71a72,79
    >   # Types to search in
    >   config :type, :validate => :string, :default => ""
    > 
    >   # Ignore errors; assume empty result set (query failed)
    >   # Unsetting this turns off error logging as exceptions are unhandled
    >   # This can make debugging the query somewhat tricky...
    >   config :fail_on_error, :validate => :string, :default => "true"
    > 
    86c94
    <       params = { :q => query_str, :size => result_size, :index => @index }
    ---
    >       params = { :q => query_str, :size => result_size, :index => @index , :type => @type}
    100,101c108,113
    <       @logger.warn("Failed to query elasticsearch for previous event", :index => @index, :query => query_str, :event => event, :error => e)
    <       @tag_on_failure.each{|tag| event.tag(tag)}
    ---
    >         if fail_on_error == "true"
    >           @logger.warn("Failed to query elasticsearch for previous event", :index => @index, :query => query_str, :event => event, :error => e)
    >           @tag_on_failure.each{|tag| event.tag(tag)}
    >         else
    >           event["query_failed"] = query_str
    >         end

     

     

     

POUR TESTER

Les appels à logstash se feront alors /opt/logstash/bin/logstash.

Pour tester la bonne installation de logstash et LDAPSearch, téléchargez le fichier test-logstash.conf, paramétrez la partie LDAP en début de fichier et lancez la commande suivante dans le répertoire contenant le fichier modifié :

[agimus@agimus logstash]$ /opt/logstash/bin/logstash -f test-logstash.conf

Vous devez voir apparaître la liste des personnes dont l'uid commence par "dupon". Si ce n'est pas le cas, vérifiez les ouvertures réseau entre votre serveur Agimus-NG et votre LDAP et analyser les erreurs retournées par logstash.

Elasticsearch

  1. Création du fichier /etc/yum.repos.d/elasticsearch.repo

    /etc/yum.repos.d/elasticsearch.repo
    [elasticsearch-2.x]
    name=Elasticsearch repository for 2.x packages
    baseurl=https://packages.elastic.co/elasticsearch/2.x/centos
    gpgcheck=1
    gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
    enabled=1
    
  2. Installation via yum

    yum install elasticsearch

POUR TESTER

Lancez la commande suivante sur votre serveur. Elle doit vous retourner une ligne d'information (nom, @IP, ...) concernant votre serveur elasticsearch.

[agimus@agimus logstash]$ curl -XGET http://localhost:9200/_cat/nodes

 

approve ÉTAPE SUIVANTE : Paramétrer le serveur

  • No labels