Как создать шаблон Elasticsearch для приема своих данных
Сначала надо подготовить шаблон в формате JSON. В этом примере - 2 раздела (веб-сервис ws
и ЭЦП sign
), у каждого - свой набор полей:
- appbeat.template.json
{ "mappings": { "ws": { "properties": { "@timestamp": { "type": "date" }, "guid": { "type": "keyword" }, "result": { "type": "keyword" }, "http_code": { "type": "short" }, "uri": { "type": "text" }, "request": { "type": "text" }, "response": { "type": "text" }, "name": { "type": "keyword" }, "error": { "type": "text" }, "user": { "type": "integer" } } }, "sign": { "properties": { "@timestamp": { "type": "date" }, "eventType": { "type": "keyword" }, "docType": { "type": "keyword" }, "docId": { "type": "integer" }, "partner": { "kod": { "type": "integer" }, "guid": { "type": "keyword" }, "name": { "type": "keyword" }, "fo": { "type": "keyword" } } }, "message": { "type": "text" }, "data": { "type": "text" } } } }, "template": "app-beat-*", "settings": { "index.refresh_interval": "5s" } }
Затем выполнить команду на создание:
curl -XPUT 'http://localhost:9200/_template/lkbeat' -d@appbeat.template.json
Также за основу можно взять этот шаблон httpbeat.template.json, он же: скачать