Premiers pas avec logstash

Installation ou configuration

Instructions détaillées sur la configuration ou l’installation de logstash.

Un exemple Syslog basique et complet

Pour en revenir à ses racines, Logstash a la capacité d’analyser et de stocker des données syslog. Cet exemple montre une configuration de base qui vous y amène.

input {
  file {
    path => [
      "/var/log/syslog",
      "/var/log/auth.log"
    ]
    type => "syslog"
  }
}

filter {
  if [type] == "syslog" {
    # Uses built-in Grok patterns to parse this standard format
    grok {
      match => {
        "message" => "%{SYSLOGBASE}%{SPACE}%{GREEDYDATA:SYSLOGMESSAGE}"
      }
    }
    # Sets the timestamp of the event to the timestamp of recorded in the log-data
    # By default, logstash sets the timestamp to the time it was ingested.
    date {
      match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

output {
  # Outputs processed events to an elasticsearch instance local to the box.
  elasticsearch {
    hosts => [
      "localhost"
    ]
  }
}

Sortie vers ElasticSearch : plusieurs index et mappages

Parfois, vous devez générer plusieurs index dans ElasticSearch ou disposer d’un mappage personnalisé que vous souhaitez appliquer aux nouveaux index au fur et à mesure qu’ils arrivent.

Il existe deux manières d’appliquer un mappage personnalisé. Une façon consiste à télécharger un modèle ElasticSearch. Voir la documentation ElasticSearch pour cela. L’autre méthode consiste à spécifier un mappage dans la sortie elasticsearch {} elle-même. C’est ce qui est montré ici.

output {
  if [type] == 'metrics' {
    # The 'metrics' index rotates weekly.
    # The 'metrics-mapping.json' file defines the custom mappings.
    elasticsearch {
      hosts              => [ 'localhost' ]
      index              => "metrics-%{xxxx.ww}"
      manage_template    => true
      template           => "/etc/logstash/metrics-mapping.json"
      template_overwrite => true
    }
  }
}

Cela affichera les événements metrics dans les index metrics- sur ElasticSearch, qui effectueront une rotation hebdomadaire en utilisant la semaine ISO. Le modèle utilisé pour les nouveaux index est défini dans le cadre de cette configuration. La définition d’un modèle a l’avantage de forcer les types de champs à un type uniforme. Ceci est utile dans les configurations plus importantes où plusieurs types peuvent tenter de définir un champ comme un type de données légèrement différent.

Cette méthode est utile dans les environnements de test et d’assurance qualité, car les modèles ElasticSearch sont définis par le code LogStash et n’ont pas besoin d’être configurés séparément dans le cadre de la configuration du cluster ElasticSearch.