Langzeitaufbewahrung von Daten

Einführung

Wenn aus Speicherplatzgründen Daten nicht "ewig" aufbewahrt werden können oder sollen und es gleichzeit den Bedarf gibt, Informationen, die in diesen Daten vorliegen zumindest teilweise für eine nachträgliche Betrachtung aufzubewahren, müssen die Originaldaten verkleinert und für die spätere Analyse aufbewahrt werden.

Auf dieser Seite erfolgt eine technische Betrachtung der Optionen und es wird eine Empfehlung fürden Umgang für ausgewählte Teile der Daten gegeben.

technische Option

manuelle Extraktion / Re-Indizierung

Daten können selektiv in neue Indizes re-indiziert werden, wenn nicht auf den vollen Informationsgehalt verzichtet werden kann.

Vorteile

  • kein Informationsverlust

Nachteile

  • muss manuell durchgeführt werden

  • bietet nicht für alle Datenquellen genügend Einsparpotential

  • erfordert relativ viel Zeit

Elastic Rollup Jobs

Rollup Jobs werden als eigenständige Tasks auf Elastic Daten konfiguriert und definieren, welche Informationen (z.b. statistische Kennwerte) auf welcher Aggregationsbasis und zeitlicher Genauigkeit extrahiert werden sollen.

Vorteile

  • einmal konfiguriert werden Daten kontinuierlich und automatisch aufbereitet

Nachteile

  • fachliche Anforderungen an die Langzeit-Daten müssen klar sein

  • keine Perspektive mit service.monitor 5 / Elasticsearch 8

Rollup-Jobs sind seit Elastic 8.11.0 abgekündigt. Stattdessen wird Elastic Downsampling empfohlen

Elastic Downsampling

Ein neues Feature, welches hier bald intensiver vorgestellt wird.

Datenthemen

ArcGIS Log-Daten

ArcGIS Log-Daten weisen das größte Einsparpotential in service.monitor auf, weil viele Nachrichten anfallen und die Dokumente individuell relativ groß sind.

mögliche Zusammenfassungen:

  • [ags.code: 9029] Anzahl aller Requests

    • aggregiert auf Host-Namen

    • aggregiert auf Dienst-Ebene

    • zeitliche Genauigkeit: eine Stunde

  • [ags.code: 7549] Anzahl aller Timeouts bei Dienstanfragen

    • aggregiert auf Host-Namen

    • aggregiert auf Dienst-Ebene

    • zeitliche Genauigkeit: eine Stunde

  • [ags.code:100004] Anzahl aller REST-Anfragen

    • aggregiert auf Host-Namen

    • aggregiert auf Dienst-Ebene

    • aggregiert auf Ressource

    • Ausführungszeit: min, max, average, median

    • Antwortgröße: min, max, average, median

    • zeitliche Genauigkeit: eine Stunde

  • [ags.code: 10011] Ausführung aller ExportMapImage-Anfragen

    • aggregiert auf Host-Namen

    • aggregiert auf Dienst-Ebene

    • Ausführungszeit: min, max, average, median

    • zeitliche Genauigkeit: eine Stunde

map.apps Daten

Empfehlungen

  • Behandlung über ILM

  • ewige Aufbewahrung der Start-Events

  • Löschen aller anderen Daten nach einer definierten Zeit (über ILM)

FME Flow Daten

Empfehlungen

  • Behandlung über ILM

  • ewige Aufbewahrung der Job-Ausführung-Dokumente

  • Löschen aller anderen Daten nach einer definierten Zeit (über ILM)

Metricbeat

Empfehlungen

  • Extraktion der ArcGIS SOC Daten (und evtl. anderer ArcGIS bezogener Daten)

  • Extraktion der Systemauslastungsdaten

mögliche Zusammenfassungen:

  • ArcGIS SOC Dokument

    • aggregiert auf ArcGIS Dienst

    • zeitliche Genauigkeit: 15 Minuten

  • System Load Dokument

    • aggregiert auf CPU Load und Speichernutzung

    • zeitliche Genauigkeit: 15 Minuten

Vorgehen

Create an Alias on ArcGIS Data w/ specific ags.code 10011
POST /_aliases
{
    "actions": [
        {
            "add": {
                "index": "ct-arcgis-logfile-*",
                "alias": "rollup-ct-arcgis-10011",
                "is_write_index": false,
                "filter": {
                    "bool": {
                        "filter": [
                            {
                                "match": {
                                    "ags.code": 10011
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}
Create an Alias on ArcGIS Data w/ specific ags.code 100004
POST /_aliases
{
    "actions": [
        {
            "add": {
                "index": "ct-arcgis-logfile-*",
                "alias": "rollup-ct-arcgis-100004",
                "is_write_index": false,
                "filter": {
                    "bool": {
                        "filter": [
                            {
                                "match": {
                                    "ags.code": 100004
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}
Create an Alias on ArcGIS Data w/ specific ags.code 7549
POST /_aliases
{
    "actions": [
        {
            "add": {
                "index": "ct-arcgis-logfile-*",
                "alias": "rollup-ct-arcgis-7549",
                "is_write_index": false,
                "filter": {
                    "bool": {
                        "filter": [
                            {
                                "match": {
                                    "ags.code": 7549
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}
Create an Alias on ArcGIS Data w/ specific ags.code 9029
POST /_aliases
{
    "actions": [
        {
            "add": {
                "index": "ct-arcgis-logfile-*",
                "alias": "rollup-ct-arcgis-9029",
                "is_write_index": false,
                "filter": {
                    "bool": {
                        "filter": [
                            {
                                "match": {
                                    "ags.code": 9029
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}
Create an Alias on ArcGIS Data w/ specific ags.code 7615
POST /_aliases
{
    "actions": [
        {
            "add": {
                "index": "ct-arcgis-logfile-*",
                "alias": "rollup-ct-arcgis-7615",
                "is_write_index": false,
                "filter": {
                    "bool": {
                        "filter": [
                            {
                                "match": {
                                    "ags.code": 7615
                                }
                            }
                        ]
                    }
                }
            }
        }
    ]
}
Get an overview on all aliases containing the string 'rollup'
GET /_cat/aliases/*rollup*
Create Rollup Jobs for 100004 query
PUT /_rollup/job/rollup-ct-arcgis-100004
{
  "index_pattern": "rollup-ct-arcgis-100004",
  "rollup_index": "rollup-ct-arcgis-100004-data",
  "cron": "0 0 0 * * ?",
  "groups": {
    "date_histogram": {
      "fixed_interval": "60m",
      "field": "@timestamp",
      "delay": "1d",
      "time_zone": "UTC"
    },
    "terms": {
      "fields": [
        "host.hostname.keyword",
        "ags.target.keyword",
        "ags.method.keyword"
      ]
    }
  },
  "metrics": [
    {
      "field": "ags.elapsed",
      "metrics": [
        "avg",
        "max",
        "min",
        "sum",
        "value_count"
      ]
    },
    {
      "field": "ags.size",
      "metrics": [
        "avg",
        "max",
        "min",
        "sum",
        "value_count"
      ]
    }
  ],
  "timeout": "20s",
  "page_size": 1000
}
Create Rollup Jobs for 9029 query
PUT /_rollup/job/rollup-ct-arcgis-9029
{
  "index_pattern": "rollup-ct-arcgis-9029",
  "rollup_index": "rollup-ct-arcgis-9029-data",
  "cron": "0 0 0 * * ?",
  "groups": {
    "date_histogram": {
      "fixed_interval": "60m",
      "field": "@timestamp",
      "delay": "1d",
      "time_zone": "UTC"
    },
    "terms": {
      "fields": [
        "host.hostname.keyword",
        "ags.target.keyword",
        "ags.method.keyword"
      ]
    }
  },
  "metrics": [],
  "timeout": "20s",
  "page_size": 1000
}
Create Rollup Jobs for 10011 query
PUT /_rollup/job/rollup-ct-arcgis-10011
{
  "index_pattern": "rollup-ct-arcgis-10011",
  "rollup_index": "rollup-ct-arcgis-10011-data",
  "cron": "0 0 0 * * ?",
  "groups": {
    "date_histogram": {
      "fixed_interval": "60m",
      "field": "@timestamp",
      "delay": "1d",
      "time_zone": "UTC"
    },
    "terms": {
      "fields": [
        "host.hostname.keyword",
        "ags.target.keyword",
        "ags.method.keyword"
      ]
    }
  },
  "metrics": [
    {
      "field": "ags.elapsed",
      "metrics": [
        "avg",
        "max",
        "min",
        "sum",
        "value_count"
      ]
    }
  ],
  "timeout": "20s",
  "page_size": 1000
}
Create Rollup Jobs for 7549 query
PUT /_rollup/job/rollup-ct-arcgis-7549
{
  "index_pattern": "rollup-ct-arcgis-7549",
  "rollup_index": "rollup-ct-arcgis-7549-data",
  "cron": "0 0 0 * * ?",
  "groups": {
    "date_histogram": {
      "fixed_interval": "60m",
      "field": "@timestamp",
      "delay": "1d",
      "time_zone": "UTC"
    },
    "terms": {
      "fields": [
        "host.hostname.keyword",
        "ags.target.keyword",
        "ags.method.keyword"
      ]
    }
  },
  "metrics": [],
  "timeout": "20s",
  "page_size": 1000
}
Create Rollup Jobs for 7615 query
PUT /_rollup/job/rollup-ct-arcgis-7615
{
  "index_pattern": "rollup-ct-arcgis-7615",
  "rollup_index": "rollup-ct-arcgis-7615-data",
  "cron": "0 0 0 * * ?",
  "groups": {
    "date_histogram": {
      "fixed_interval": "60m",
      "field": "@timestamp",
      "delay": "1d",
      "time_zone": "UTC"
    },
    "terms": {
      "fields": [
        "host.hostname.keyword",
        "ags.target.keyword"
      ]
    }
  },
  "metrics": [
    {
      "field": "ags.elapsed",
      "metrics": [
        "avg",
        "max",
        "min",
        "sum",
        "value_count"
      ]
    }
  ],
  "timeout": "20s",
  "page_size": 1000
}
Start all Rollup Jobs
POST _rollup/job/rollup-ct-arcgis-100004/_start
POST _rollup/job/rollup-ct-arcgis-9029/_start
POST _rollup/job/rollup-ct-arcgis-10011/_start
POST _rollup/job/rollup-ct-arcgis-7549/_start
POST _rollup/job/rollup-ct-arcgis-7615/_start