53 Visualisierungen in OpenSearch Dashboards

Die Kunst der Datenvisualisierung ist ein Schlüsselelement für das Verständnis und die Analyse Ihrer Daten. In diesem Kapitel lernen Sie die verschiedenen Visualisierungstypen in OpenSearch Dashboards kennen und erfahren, wie Sie diese effektiv einsetzen können.

53.1 Grundlegende Visualisierungstypen

53.1.1 Metrische Visualisierungen

Metrische Visualisierungen zeigen einzelne Zahlen oder aggregierte Werte:

{
  "aggs": {
    "total_errors": {
      "filter": {
        "term": { "level": "error" }
      }
    },
    "error_rate": {
      "bucket_script": {
        "buckets_path": {
          "errors": "total_errors._count",
          "total": "_count"
        },
        "script": "params.errors / params.total * 100"
      }
    }
  }
}

Anwendungsfälle: - Gesamtzahl der Fehler - Durchschnittliche Antwortzeit - Success Rate - Aktive Benutzer

53.1.2 Diagramm-Visualisierungen

53.1.2.1 Liniendiagramme

Ideal für zeitbasierte Daten:

{
  "aggs": {
    "over_time": {
      "date_histogram": {
        "field": "@timestamp",
        "calendar_interval": "1h"
      },
      "aggs": {
        "avg_response": {
          "avg": {
            "field": "response_time"
          }
        }
      }
    }
  }
}

53.1.2.2 Balkendiagramme

Gut für Kategorie-Vergleiche:

{
  "aggs": {
    "by_category": {
      "terms": {
        "field": "category",
        "size": 10
      },
      "aggs": {
        "total_revenue": {
          "sum": {
            "field": "revenue"
          }
        }
      }
    }
  }
}

53.1.3 Tabellen-Visualisierungen

Tabellen bieten detaillierte Datenübersichten:

{
  "aggs": {
    "top_urls": {
      "terms": {
        "field": "url.keyword",
        "size": 20
      },
      "aggs": {
        "avg_time": {
          "avg": {
            "field": "response_time"
          }
        },
        "error_count": {
          "filter": {
            "range": {
              "status_code": {
                "gte": 400
              }
            }
          }
        }
      }
    }
  }
}

53.2 Fortgeschrittene Visualisierungstechniken

53.2.1 Heat Maps

Heat Maps sind perfekt für die Visualisierung von Datenverteilungen:

{
  "aggs": {
    "time": {
      "date_histogram": {
        "field": "@timestamp",
        "calendar_interval": "1h"
      },
      "aggs": {
        "response_distribution": {
          "range": {
            "field": "response_time",
            "ranges": [
              { "to": 100 },
              { "from": 100, "to": 300 },
              { "from": 300, "to": 500 },
              { "from": 500 }
            ]
          }
        }
      }
    }
  }
}

53.2.2 Koordinaten-Maps

Für geografische Daten:

{
  "aggs": {
    "locations": {
      "geohash_grid": {
        "field": "location",
        "precision": 5
      },
      "aggs": {
        "avg_value": {
          "avg": {
            "field": "metric_value"
          }
        }
      }
    }
  }
}

53.3 Datenaufbereitung für Visualisierungen

53.3.1 Bucket Aggregationen

Gruppieren Sie Daten effektiv:

{
  "aggs": {
    "daily_stats": {
      "date_histogram": {
        "field": "@timestamp",
        "calendar_interval": "day"
      },
      "aggs": {
        "status_codes": {
          "terms": {
            "field": "status_code",
            "size": 5
          }
        }
      }
    }
  }
}

53.3.2 Metrische Aggregationen

Berechnen Sie aussagekräftige Metriken:

{
  "aggs": {
    "response_stats": {
      "stats": {
        "field": "response_time"
      }
    },
    "percentiles": {
      "percentiles": {
        "field": "response_time",
        "percents": [50, 75, 90, 95, 99]
      }
    }
  }
}

53.4 Best Practices für Visualisierungen

53.4.1 Datenreduktion

Reduzieren Sie die Datenmenge für bessere Performance:

{
  "aggs": {
    "sampled_data": {
      "sampler": {
        "shard_size": 10000
      },
      "aggs": {
        "your_visualization": {
          // Ihre Aggregation hier
        }
      }
    }
  }
}

53.4.2 Formatierung und Styling

Optimieren Sie die visuelle Darstellung:

53.4.3 Interaktivität

Implementieren Sie sinnvolle Interaktionen:

{
  "params": {
    "drilldown": {
      "enabled": true,
      "target": {
        "index_pattern": "logs-*",
        "visualization": "detailed-view"
      }
    }
  }
}

53.5 Praktische Übungen

53.5.1 Performance-Dashboard

Erstellen Sie ein Performance-Dashboard:

  1. Response Time Distribution (Heat Map)
  2. Error Rate Over Time (Line Chart)
  3. Top Error Sources (Data Table)
  4. Geographic Distribution (Coordinate Map)

53.5.2 Business Analytics Dashboard

Implementieren Sie ein Business-Dashboard:

  1. Revenue Metrics (Gauge)
  2. Sales by Category (Bar Chart)
  3. Customer Distribution (Pie Chart)
  4. Trend Analysis (Line Chart)

53.5.3 System Monitoring Dashboard

Entwickeln Sie ein Monitoring-Dashboard:

  1. CPU Usage (Area Chart)
  2. Memory Utilization (Gauge)
  3. Disk Space (Pie Chart)
  4. Network Traffic (Line Chart)

53.6 Tipps und Tricks

53.6.1 Performance-Optimierung

53.6.2 Gestaltungsprinzipien

53.6.3 Wartbarkeit

53.7 Fehlerbehebung

Häufige Probleme und Lösungen:

  1. Keine Daten sichtbar
  2. Performance-Probleme
  3. Formatierungsprobleme

Mit diesen Grundlagen können Sie effektive und aussagekräftige Visualisierungen in OpenSearch Dashboards erstellen. Die nächsten Kapitel werden spezifische Aspekte vertiefen und fortgeschrittene Techniken vorstellen.