Elasticsearch: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
+ | ==Rolling Index== | ||
+ | Um zu vermeiden dass zu viele Shards erstellt werden bietet es sich an, statt wie default mäßig "indexname-{date}" einen Index mit Alias zu erstellen und diesen nach selbst definierten Regeln rollen zu lassen. | ||
+ | |||
+ | Erst muss der Index erstellt werden, hierbei gilt zu beachten, dass dies der Index ist der z.B. für Kibana benutzt wird, dieser hat einen Alias, welcher dann zb bei [[logstash]] konfiguriert wird | ||
+ | PUT /<Index-Name>-000001 | ||
+ | { | ||
+ | "aliases": { | ||
+ | "<IndexNameSchreibend>": {} | ||
+ | } | ||
+ | } | ||
+ | Hier bietet es sich vielleicht an, <Index-Name> logstash-serverlogs_readonly und <IndexNameSchreibend> logstash-serverlogs_write zu nehmen. | ||
+ | Die 000001 wird automatisch beim rollen hochgezählt, hier können auch mehr oder weniger Stellen verwendet werden. Um den Index zu rollen wird das Kommando verwendet: | ||
+ | |||
+ | POST /<IndexNameSchreibend>/_rollover | ||
+ | { | ||
+ | "conditions": { | ||
+ | "max_size": "5gb", | ||
+ | "max_age": "7d", | ||
+ | "max_docs": 5 | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Hierbei wird WENN eine der übergebenen Conditions anschlägt ein neuer Index erstellt, die Antwort kann so aussehen: | ||
+ | { | ||
+ | "acknowledged": true, | ||
+ | "old_index": "<Index-Name>-000001", | ||
+ | "new_index": "<Index-Name>-000002", | ||
+ | "rolled_over": true, | ||
+ | "dry_run": false, | ||
+ | "conditions": { | ||
+ | "[max_docs: 5]": true, | ||
+ | "[max_age: 7d]": false, | ||
+ | "[max_size: 5gb] ": false | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Wenn "acknowledged": false zurück gegeben wird bedeutet dies nur dass nicht gerollt wurde weil keins der Argumente eingetreten ist. | ||
+ | |||
+ | |||
+ | |||
==Backup== | ==Backup== | ||
Um Backups durchzuführen muss die Location in der elasticsearch.yml angegeben sein | Um Backups durchzuführen muss die Location in der elasticsearch.yml angegeben sein |
Aktuelle Version vom 11. Mai 2019, 12:55 Uhr
Rolling Index
Um zu vermeiden dass zu viele Shards erstellt werden bietet es sich an, statt wie default mäßig "indexname-{date}" einen Index mit Alias zu erstellen und diesen nach selbst definierten Regeln rollen zu lassen.
Erst muss der Index erstellt werden, hierbei gilt zu beachten, dass dies der Index ist der z.B. für Kibana benutzt wird, dieser hat einen Alias, welcher dann zb bei logstash konfiguriert wird
PUT /<Index-Name>-000001 { "aliases": { "<IndexNameSchreibend>": {} } }
Hier bietet es sich vielleicht an, <Index-Name> logstash-serverlogs_readonly und <IndexNameSchreibend> logstash-serverlogs_write zu nehmen. Die 000001 wird automatisch beim rollen hochgezählt, hier können auch mehr oder weniger Stellen verwendet werden. Um den Index zu rollen wird das Kommando verwendet:
POST /<IndexNameSchreibend>/_rollover { "conditions": { "max_size": "5gb", "max_age": "7d", "max_docs": 5 } }
Hierbei wird WENN eine der übergebenen Conditions anschlägt ein neuer Index erstellt, die Antwort kann so aussehen:
{ "acknowledged": true, "old_index": "<Index-Name>-000001", "new_index": "<Index-Name>-000002", "rolled_over": true, "dry_run": false, "conditions": { "[max_docs: 5]": true, "[max_age: 7d]": false, "[max_size: 5gb] ": false } }
Wenn "acknowledged": false zurück gegeben wird bedeutet dies nur dass nicht gerollt wurde weil keins der Argumente eingetreten ist.
Backup
Um Backups durchzuführen muss die Location in der elasticsearch.yml angegeben sein
path.repo: /backups/my_backup
Anschließend das Backup einrichten:
PUT _snapshot/my_backup/ { "type": "fs", "settings": { "location": "/backups/my_backup" } }
Backup durchführen
PUT _snapshot/my_backup/<snapshot_name>?wait_for_completion=true