Child pages
  • Debian - 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

  1. Ajouter le dépôt

    $ wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
    $ sudo echo "deb http://packages.elasticsearch.org/logstash/1.5/debian stable main" > /etc/apt/sources.list.d/logstash.list

     

     

  2. Installer les paquets logstash et logstash-contrib

    $ sudo apt-get update && sudo apt-get 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/plugin install logstash-input-LDAPSearch
    /opt/logstash/bin/plugin install logstash-filter-translate
    /opt/logstash/bin/plugin install logstash-filter-cidr
    /opt/logstash/bin/plugin install logstash-filter-elasticsearch
  4. 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-0.1.5/lib/logstash/filters/elasticsearch.rb
    18c18,20
    < #             query => "type:start AND operation:%{[opid]}"
    ---
    > #             query => "operation:%{[opid]}"
    > #             type => "type"  # defaults to all
    > #             index  => "index"  # defaults to all
    19a22
    > #             fail_on_error => "true"
    40a44,49
    >   # Index to search in
    >   config :index, :validate => :string, :default => ""
    > 
    >   # Types to search in
    >   config :type, :validate => :string, :default => ""
    > 
    58a68,71
    >   # 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"
    92c105
    <       results = @client.search q: query_str, sort: @sort, size: 1
    ---
    >       results = @client.search index: @index, type: @type, q: query_str, sort: @sort, size: 1
    93a107
    >       if not results['hits']['hits'].empty?
    96a111
    >       end
    99,100c114,116
    <     rescue => e
    <       @logger.warn("Failed to query elasticsearch for previous event",
    ---
    >       rescue => e
    >       if fail_on_error == "true"
    >         @logger.warn("Failed to query elasticsearch for previous event",
    101a118,121
    >       else
    >         event["query_failed"] = query_str
    >         filter_matched(event)
    >       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. Ajouter le dépôt

    $ wget -qO - https://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
    $ sudo echo "deb http://packages.elasticsearch.org/elasticsearch/1.5/debian stable main" > /etc/apt/sources.list.d/elasticsearch.list
  2. Installer le paquet

    $ sudo apt-get update && sudo apt-get install elasticsearch
  3. Lancer elasticsearch au démarrage

    $ sudo update-rc.d elasticsearch defaults 95 10

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