Überwachen Sie den Zustand des SystemLink Enterprise DataFrame-Dienstes mit Hilfe von OpenTelemetry-Metriken und Prometheus-Metriken.

Sehen Sie sich in der folgenden Tabelle die Metriken an, die vom DataFrame-Dienst und den zugehörigen abhängigen Komponenten ausgegeben werden.
Hinweis Sie können den OpenTelemetry Collector bereitstellen und ihn so konfigurieren, dass alle OpenTelemetry-Metriken als Prometheus-Metriken angezeigt werden. Wenn Sie diese Metriken Prometheus anwenden, können Sie sie in einem Tool wie Grafana anzeigen.

Für die Metriken, die ni.dataframe.row_data_store.{object_storage}_stream_pool enthalten, ersetzt der Dienst {object_storage} durch s3 oder azure, abhängig vom Objektspeicherprovider, mit dem der Dienst verbunden ist. Der Dienst ersetzt die Variable automatisch, wenn die Metriken ausgegeben werden.

DataFrame-Dienst

Tabelle 60. Leistungsmetriken für den DataFrame-Dienst
KPI? Metrik Typ Beschreibung Kennzeichnung
Ja ni.dataframe.staged_row_data_processor.staging.files.found.count Zähler Die Anzahl der im Datenspeicher gefundenen Stufendateien.

Verwenden Sie die Metrik mit ni.dataframe.staged_row_data_processor.staging.files.orphaned.count, um zu erkennen, ob der Dienst bei der Verarbeitung von Dateien zurückfällt.

Keine
Ja ni.dataframe.staged_row_data_processor.staging.files.orphaned.count Zähler Die Anzahl der als verwaiste Objekte gelöschten Stufendateien.
Verwenden Sie die Metrik mit ni.dataframe.staged_row_data_processor.staging.files.found.count, um zu erkennen, ob der Dienst bei der Verarbeitung von Dateien zurückfällt. Bei einer idealen Operation ist diese Metrik Null. Eine der folgenden Situationen kann einen Wert größer als X verursachen.
  • Die Verbindung zwischen dem Dienst und MongoDB ist unterbrochen.
  • Ein Client schreibt Daten mithilfe eines Musters, das Sie anpassen müssen.
Keine
Ja ni.dataframe.staged_row_data_processor.staging.files.missing.count Zähler Die Anzahl der fehlenden Stufendateien.
Diese Metrik deutet auf eines der folgenden Probleme hin.
  • Der S3-Datenspeicher ist nicht konsistent.
  • Eine Sicherungs- und Wiederherstellungsoperation hat die Konsistenz zwischen S3 und MongoDB unterbrochen.
  • In Kombination mit einem ni.dataframe.staged_row_data_processor.staging.files.orphaned.count-Wert, der nicht Null ist, ist der dataframeservice.ingestion.stagedDataProcessor.stagingFileExpiration-Helm-Wert zu niedrig.
Kein
Ja ni.dataframe.staged_row_data_processor.claims.lost.count Zähler Die Anzahl der während der Verarbeitung verlorenen Claims.
Diese Metrik deutet auf eines der folgenden Probleme hin.
  • Der Helm-Wert dataframeservice.ingestion.stagedDataProcessor.tableClaimExpiration ist zu niedrig.
  • Benutzer löschen Tabellen, die noch neue Daten empfangen.

Kein
Ja ni.dataframe.staged_row_data_processor.claims.with.errors.count Zähler Die Anzahl der Claims, bei denen Fehler während der Verarbeitung aufgetreten sind.

Behandeln Sie Werte größer als Null so, als ob der Dienst 500-Fehler zurückgibt.

ni_dataframe_staged_row_data_processor_phase: [1, 2]
Nein ni.dataframe.staged_row_data_processor.skipped.storage.ids.count Zähler Die Anzahl der erkannten Datenspeicher-IDs, die nicht verarbeitet wurden. Kein
Nein ni.dataframe.staged_row_data_processor.failed.to.claim.count Zähler Die Anzahl der erkannten Speicher-IDs ohne Claim. Kein
Nein ni.dataframe.staged_row_data_processor.claims.processed.count Zähler Die Anzahl der verarbeiteten Claims. ni_dataframe_staged_row_data_processor_phase: [1, 2]
Nein ni.dataframe.staged_row_data_processor.sent.notifications.count Zähler Die Anzahl der gesendeten Benachrichtigungen. Kein
Nein ni.dataframe.row_data_store.{object_storage}_stream_pool.blocks.count Zähler Die Anzahl der freien Blöcke im Stream-Pool für den Objektspeicher. Kein
Nein ni.dataframe.row_data_store.{object_storage}_stream_pool.allocations.count Zähler Die Anzahl der im Stream-Pool für den Objektspeicher zugewiesenen Blöcke. Kein
Nein ni.dataframe.row_data_store.{object_storage}_stream_pool.discards.count Zähler Die Anzahl der aus dem Stream-Pool für den Objektspeicher verworfenen Puffer. Kein
Nein ni.dataframe.row_data_store.{object_storage}_stream_pool.free.size.bytes Zähler Die Anzahl der zugewiesenen, aber nicht im Stream-Pool für den Objektspeicher verwendeten Bytes. Kein
Nein ni.dataframe.row_data_store.{object_storage}_stream_pool.used.size.bytes Zähler Die Anzahl der aktuell vom Stream-Pool für den Objektspeicher verwendeten Bytes. Kein
Ja ni.dataframe.table_reaper.tables.reaped.count Zähler Die Anzahl der gelöschten Tabellen.

Verwenden Sie diese Metrik, um die Bereinigung von Tabellen zu überwachen.

ni_dataframe_table_reaper_reaped_result: [gelöscht, übersprungen, fehlgeschlagen]
Ja ni.dataframe.tables.appendable.count Rundinstrument Die Anzahl der aktiven Tabellen, die angehängt werden können.

Verwenden Sie diese Metrik, um die Anzahl der anhängbaren Tabellen mit dem Grenzwert zu vergleichen.

Kein
Ja ni.dataframe.iceberg_operations.duration Histogramm Dauer von Iceberg-Operationen.
  • ni_dataframe_iceberg_operations_job_state: [Complete, Error]
  • ni_dataframe_iceberg_operations_operation_type: [Promoting, CompactingData, CompactingManifests, Vacuuming, FinalCompactingData, FinalCompactingManifests, FinalVacuuming]
  • ni_dataframe_iceberg_operations_changes_made: [true, false]

Abhängige Komponenten des DataFrame-Dienstes

Lesen Sie die Dokumentation für die abhängigen Komponenten des DataFrame-Dienstes, um mehr über verfügbare Leistungsmetriken und deren Funktionsweise zu erfahren.
Tabelle 61. Referenzen für Leistungsmetriken für abhängige Komponenten des DataFrame-Dienstes
AbhängigkeitInformationen finden
ASP.NETEine Liste der von ASP.NET bereitgestellten Metriken finden Sie unter ASP.NET Core Metrics und ASP.NET Runtime Metrics.
KubernetesEine Liste der von Kubernetes bereitgestellten Metriken finden Sie in der Referenz zu Kubernetes-Metriken, cAdvisor Metrics und der kube-state-metrics-Dokumentation.
DremioEine Liste der Dremio-Metriken finden Sie unter Available JMX-Metrik.