logstashAan de slag met logstash


Opmerkingen

Deze sectie geeft een overzicht van wat logstash is en waarom een ontwikkelaar het misschien wil gebruiken.

Het moet ook alle grote onderwerpen in logstash vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor logstash nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.

Een eenvoudig, compleet Syslog-voorbeeld

Logstash heeft de mogelijkheid om syslog-gegevens te parseren en op te slaan. Dit voorbeeld toont een basisconfiguratie die u daartoe brengt.

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"
    ]
  }
}
 

Installatie of instellingen

Gedetailleerde instructies voor het instellen of installeren van Logstash.

Uitvoeren naar ElasticSearch: meerdere indices en toewijzingen

Soms moet u uitvoeren naar meer dan één index in ElasticSearch, of een aangepaste toewijzing hebben die u op nieuwe indices wilt toepassen wanneer deze binnenkomen.

Er zijn twee manieren om een aangepaste toewijzing toe te passen. Een manier is om een ElasticSearch-sjabloon te uploaden. Zie daarvoor de documentatie van ElasticSearch. De andere manier is om een afbeelding op te geven in de output van de elasticsearch {} . Dat is wat hier wordt getoond.

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
    }
  }
}
 

Dit zal de uitgang van metrics gebeurtenissen metrics- indexen op ElasticSearch, die wekelijks zal draaien met behulp van de ISO week. De sjabloon die wordt gebruikt voor nieuwe indexen wordt gedefinieerd als onderdeel van deze configuratie. Het definiëren van een sjabloon heeft het voordeel dat de soorten velden tot een uniform type worden gedwongen. Dit is handig in grotere configuraties waarbij meerdere typen proberen een veld als een iets ander gegevenstype te definiëren.

Deze methode is handig in enscenerings- en QA-omgevingen, omdat de ElasticSearch-sjablonen worden gedefinieerd door de LogStash-code en niet afzonderlijk hoeven te worden geconfigureerd als onderdeel van de installatie van het ElasticSearch-cluster.