ELK: Konfiguracja elasticsearch

Dochodzimy do sedna tej ciut specyficznej konfiguracji ELK. Mapowanie.

Żeby zbierane dane były zdatne do jakiejkolwiek analizy innej niż ilościowa, należy zmapować nazwy kolumn na określone typy danych. Jeśli tego nie zrobimy, zobaczymy te dane, ale jako zbiór string’ów.

Konfiguracja elasticsearch nie jest trywialna. Poniżej moja wstępna propozycja

Konfiguracja elasticsearch

Tworzenie index’u z zadanym mapowaniem:

POST logstash-jmeter-results-2015.05.20
{
 "template": "logstash-jmeter-results-*",
 "settings": {
 "number_of_shards": 5,
 "number_of_replicas": 0,
 "index.refresh_interval": "5s"
 },
 "mappings": {
 "logs": {
 "properties": {
 "time": {"type": "date","format": "yyyy-MM-dd HH:mm:ss.SSS"},
 "elapsed": {"type": "long"},
 "label": {"type": "string"},
 "responseCode": {"type": "integer"},
 "threadName": {"type": "string"},
 "success": {"type": "boolean"},
 "bytes": {"type": "long"},
 "grpThreads": {"type": "long"},
 "allThreads": {"type": "long"},
 "Latency": {"type": "long"},
 "SampleCount": {"type": "long"},
 "ErrorCount": {"type": "long"},
 "Hostname": {"type": "string"},
 "Connect": {"type": "integer"}
 }
 }
 }
}

W elasticsearch można utworzyć template z mapowaniem i logstash będzie mógł tworzyć index’y korzystające z mapowania zapisanego w template.

ELK: Konfiguracja elasticsearch

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.