Wie verwenden Sie einen regulären Ausdruck in das abrufen von Daten aus Graphit?
Will ich Holen von Daten von unterschiedlichen Zählern von Graphit in einer einzigen Anfrage wie:-
summarize(site.testing_server_2.triggers_unknown.count,'1hour','sum')&format=json
summarize(site.testing_server_2.requests_failed.count,'1hour','sum')&format=json
summarize(site.testing_server_2.core_network_bad_soap.count,'1hour','sum')&format=json
usw.. 20 mehr.
Aber ich will nicht zu Holen
summarize(site.testing_server_2.module_xyz_abc.count,'1hour','sum')&format=json
in dieser Anfrage, wie kann ich das machen?
Dies ist, was ich versucht habe:
summarize(site.testing_server_2.*.count,'1hour','sum')&format=json&from=-24hour
Wird es json-Daten für 'module_xyz_abc' zu, aber das will ich nicht.
- Ich denke, wir müssen sehen, was code, den Sie geschrieben haben in Richtung der Lösung dieses, so können wir passen die Lösung hinein, anstatt zu schreiben das es komplett neu für Sie. Wie es ist, es sieht aus wie Sie wollen-match -
/\.module_/
aber das bedeutet nicht viel gutes tun, wenn wir mehr wissen. Können Sie vereinfachen/verkürzen der URLs zeigen Sie uns auch? Wie es ist, und Sie verschwenden eine Menge von visuellen Raum, ohne dafür viel nützliches. - Frage aktualisiert.
- hey! @theTinMan, könnte Ihnen jetzt helfen?
- könnten Sie mir hier helfen?
- Ich sehe keinen code, der zeigt, was Sie versucht haben.
- können Sie ihn wieder Lesen, den letzten Abschnitt?
- dieses mal habe ich erwähnt, dass dieses Fett, was ich versucht habe, sehen Sie?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht verwenden reguläre Ausdrücke per se, aber Sie können einige ähnliche (in Konzept und etwas format) - matching-Techniken zur Verfügung, die innerhalb des Graphit-Render-URL-API. Es gibt ein paar Möglichkeiten, wie Sie "passen" in ein Ziel der "Eimer" (D. H. zwischen den Punkten).
Ziel Passender
Sternchen * match
Den Sternchen kann benutzt werden, um keine übereinstimmung mit null oder mehr Zeichen(s). Es kann verwendet werden, um zu ersetzen Sie den gesamten Eimer (
site.*.test
) oder im Eimer (site.w*t.test
). Hier ist ein Beispiel:Dieser würde passen Website.testing_server_2.requests_fehlgeschlagen.Graf, Website.testing_server_2.requests_Erfolg.Graf, Website.testing_server_2.requests_blah123.zählen, und so weiter.
Zeichenbereich [a-z0-9] match
Den Charakter-Bereich entsprechen, werden verwendet, um auf ein einzelnes Zeichen (
site.w[0-9]t.test
) in den Ziel-Eimer und ist angegeben als einem Bereich oder einer Liste. Zum Beispiel:Diese würde mit vor Ort.testing_server_0.requests_failed.Graf, Website.testing_server_1.requests_failed.Graf, Website.testing_server_2.requests_failed.zählen, und so weiter.
Wert-Liste (Gruppe aufnehmen") {bla, testen, ...} entsprechen,
Der Werteliste übereinstimmen, kann verwendet werden, um die übereinstimmung mit den Einträgen in der Liste der Werte, die in den angegebenen Teil der Ziel-Eimer.
Dieser würde passen Website.testing_server_2.triggers_unknown.Graf, Website.testing_server_2.requests_failed.Anzahl und Standort.testing_server_2.core_network_bad_soap.zählen. Aber sonst nichts, also Website.testing_server_2.module_xyz_abc.Graf würde nicht passen.
Antwort
Ohne zu wissen, alle Ihre Eimer Werte ist es schwierig, chirurgisch mit dem Ansatz (vielleicht mit einer Kombination von matching-Optionen), so dass ich empfehlen werde, nur mit einer Werteliste übereinstimmen. Dies sollte Ihnen ermöglichen, um alle Werte in einer -etwas lang - Anfrage. Zum Beispiel (und halten Sie im Verstand, den Sie brauchen, um alle Ihre Werte):
Siehe Graphit Pfade und Wildcards