Mit der Data Plus Option von New Relic ist es jetzt möglich, historische wie Echtzeit-Telemetriedaten zu Ihren Streams direkt an externe Quellen zu exportieren. Enorm nützlich ist dies im Kontext von Compliance-Anforderungen und zur Datenanalyse. So lassen sich anhand dieser Datenpunkte Zusammenhänge für Entitäten, Events und Anomalien in Ihrem Tech-Stack präziser analysieren. Ein Upload der Ergebnisse ist zudem auch in Ihre Analytics-Plattformen, KI-Lösungen und ML-Tools möglich, um in diesem Zuge Ihre New Relic Daten noch besser zu nutzen.

In diesem Blog erläutern wir, wie Sie historische und Echtzeit-Daten exportieren und gewinnbringend einsetzen. Zunächst gehen wir dabei auf die Data Plus Option ein, da sie für entsprechende Datenexporte erforderlich ist.

Data Plus: Mehr Value für Ihre Daten mit erweiterten Observability-Features

Mit New Relic Data Plus erhalten Sie noch umfassendere Observability-Möglichkeiten in punkto Sicherheit, Skalierbarkeit und Performance. Verfügbar werden mit Data Plus neben den Features für Datenexporte unter anderem erweiterte Retention, Log-Verschleierung, FedRAMP-Compliance für entsprechend aktivierte Konten und längere Abfragen. Weitere Informationen zu Data Plus lesen Sie in dieser Produktankündigung.  

Use Cases für historische und Streaming-Daten

Streaming-Daten decken stets die vergangenen 12 Stunden ab, historische Daten den Zeitraum über diese hinaus. Über Streaming-Daten lassen sich zudem auch Informationen fortlaufend in andere Quellen exportieren.

Historische Daten

Bei historischen Daten wird der Export nach der Erfassung durchgeführt. Es bestehen hierbei keine Beschränkungen der Abfragelänge, auch können über das bei der Standard-Datenoption bestehende NRQL-Limit hinaus bis zu 200 Millionen Zeilen an Datenpunkten abgefragt werden. Erstellt werden die Abfragen in NerdGraph, die Ergebnisse als JSON in einem Amazon S3 Bucket zurückgegeben. Nicht unterstützt werden mit Exporten für historische Daten Abfragen für Live-Daten und aus den vergangenen 12 Stunden. Es sind somit nur Zeiträume zulässig, die mindestens 12 Stunden in der Vergangenheit beginnen.

Bezahlt macht sich diese Export-Funktion somit speziell für Datenabschnitte, die weiter zurückreichen, so zum Beispiel im Kontext von Sicherheits- und Compliance-Vorgaben, für die historische Daten erfasst und/oder analysiert werden müssen. Weiter können so auch Daten außerhalb Ihrer New Relic Konto- und Zugriffsgrenzen weitergegeben werden.

Streaming-Daten

Auch ein Export von Daten direkt bei ihrer Erfassung in New Relic ist möglich. Enthalten sind dabei alle Daten der vergangenen 12 Stunden. Der Export erfolgt über Kinesis Firehose. Via NerdGraph können Sie eigene NRQL-basierte Regeln definieren, die bestimmen, welche New Relic Datentypen in Ihren Streaming-Export aufgenommen werden sollen.

Ein Export von Streaming-Daten ist somit besonders zur Analyse von Daten zum Zeitpunkt der Erfassung relevant. Dementsprechend konstant abgerufene Log-Daten und Metrics bieten sich unter anderem hervorragend für einen Data Lake an, aber auch für langfristige Retention im Zusammenhang mit rechtlichen, Compliance- und Sicherheitsvorgaben, um Exportabfragen nicht fortlaufend manuell durchführen zu müssen.

So exportieren Sie historische Daten

Im Folgenden betrachten wir einen Export von historischen Daten an einem Beispiel. Grundlage hierfür ist das Tutorial zum NerdGraph. In diesem erfahren Sie, wie Sie Daten erfassen, Mutationen verwenden und über das Terminal Abfragen durchführen. 

In unserem Beispiel soll es um einen Export von historischen Daten für Abfragen gehen, mit dem wir alle Logs einer Entität zum Zeitpunkt eines Incidents anzeigen möchten. Führen Sie zu Beginn mit folgendem Befehl eine Abfrage durch, um exportierbare Ergebnisse zu erhalten. Verwenden Sie in den folgenden Code-Zeilen Ihre Kontoinformationen, Entity ID und die gewünschten Abfragezeiten. 

mutation {
historicalDataExportCreateExport (accountID: YOUR_ACCOUNT_ID, nrql: “FROM Log select * WHERE entity.guid = “YOUR_ENTITY_ID” SINCE ‘YOUR_BEGIN_DATE_TIME’ UNTIL ‘YOUR_END_DATE_TIME’”){
    percentComplete
    nrql
    status
    id
    message
}

Die Ergebnisse in einer Abfrage-ID zur Verwendung als Quell- und Entitätenreferenz für den Export:

historicalDataExport{export(id: "YOUR_QUERY_ID_HERE")

Beispiel einer in der New Relic UI geschriebenen Mutation

Als Nächstes exportieren Sie mit dem folgenden Befehl Ihre historischen Daten: 

historicalDataExport {export(id: “YOUR_QUERY_ID_HERE”)

Dieser Vorgang kann eine gewisse Zeit in Anspruch nehmen, wird jedoch asynchron durchgeführt. HTTP-Unterbrechungen oder Browser-Timeouts können sich also nicht auf ihn auswirken.

Ergebnisse eines Exports historischer Daten in der New Relic UI

Die JSON-Ergebnisdateien sind eine Woche lang gültig, jede URL sechs Stunden lang live. Die Links können nach Ablauf über eine weitere Abfrage erneut erstellt werden. 

Weitere Informationen zu Exporten für historische Daten erhalten Sie in unserer Dokumentation sowie in diesem 2-minütigen Nerd Byte Video.

So exportieren Sie Streaming-Daten

Um Streaming-Daten in Echtzeit zu exportieren, müssen Sie via NerdGraph Regeln zu gewünschten Export-Datentypen erstellen. So benötigen Sie eine Mutation, um eine Regel zu den Streaming-Daten festzulegen einschließlich Regelname, einer Beschreibung zu den Export-Specs und der Regel zu den Daten selbst. 

Im Folgenden ein Beispiel einer Mutation:  

 mutation {
  streamingExportCreateRule(
    accountId: account id here, 
    ruleParameters: {
      description: "rule description", 
      name: "rule name", 
      nrql: "SELECT * FROM NodeStatus"
    }, 
  awsParameters: {
      awsAccountId: "aws account id here", 
      deliveryStreamName: "firehose-stream-name", 
      region: "us-east-1", 
      role: "firehose-role"
    }
  ) {
    id
    status
  }
}

Aktivierung und Deaktivierung Ihrer Export-Regeln für Streaming-Daten

Durch Aktivierung und Deaktivierung Ihrer Regeln lassen sich Ihre Echtzeit-Exportvorgänge effizienter verwalten, denn so müssen Sie nicht konstant neue Regeln erstellen bzw. wieder löschen. Nützlich ist dies vor allem in Fällen, in denen Daten in bestimmten Zeiträumen für Sie interessant sind und somit außerhalb dieser keines Exports bedürfen. Um Regeln wieder aktivieren zu können, müssen sie im Vorfeld deaktiviert worden sein. Ist dies nicht der Fall, wird eine Fehlermeldung eingeblendet.  

Nutzen Sie folgende Mutation, um eine Regel zu aktivieren:

mutation {
  streamingExportEnableRule(id: “query id here”) {
    id
    ...
  }
}

Nutzen Sie folgendes Muster, um eine Regel zu deaktivieren: 

mutation {
  streamingExportDisableRule(id: “query id here”) {
    id
    ...
  }
}

In unserer Dokumentation zu Exporten für Streaming-Daten erfahren Sie mehr über die zugehörigen Exportregeln, ihre Aktualisierung und Löschung sowie anderen Best Practices.