Dashboard-Bericht – Konsolidierte API-Anfragen

Dies ist eine SQL-Version des Dashboard-Berichts für konsolidierte API-Anfragen.

Dieser Bericht zeigt API-Nutzungsstatistiken nach Datum und verfolgt sowohl reguläre API-Anfragen als auch Benutzer-API-Anfragen. Dieser Bericht hilft Ihnen, die API-Nutzungsmuster auf Ihrer Discourse-Instanz im Laufe der Zeit zu überwachen. Er unterscheidet zwischen regulären API-Anfragen und Benutzer-API-Anfragen und zeigt beide separat zusammen mit der gesamten kombinierten Anzahl an.

Die Daten stammen aus der Tabelle application_requests, die verschiedene Anfragetypen im System verfolgt. Für die API-Nutzung konzentrieren wir uns auf die Anfragetypen 11 (reguläre API) und 12 (Benutzer-API).

-- [params]
-- date :start_date = 2023-01-01
-- date :end_date = 2025-12-31

SELECT 
  ar.date,
  -- API-Anfragen
  SUM(CASE WHEN ar.req_type = 11 THEN ar.count ELSE 0 END) AS api,
  SUM(CASE WHEN ar.req_type = 12 THEN ar.count ELSE 0 END) AS user_api,
  -- Gesamt-API-Anfragen
  SUM(CASE WHEN ar.req_type IN (11, 12) THEN ar.count ELSE 0 END) AS total_api_requests
FROM 
  application_requests ar
WHERE 
  ar.date BETWEEN :start_date AND :end_date
GROUP BY 
  ar.date
ORDER BY 
  ar.date DESC

Parameter:

  • Die Abfrage akzeptiert zwei Parameter, :start_date und :end_date, die den Datumsbereich für den Bericht definieren. Beide Datumsparameter akzeptieren das Datumsformat JJJJ-MM-TT.

Ergebnisse

  • date: Datum der Anfragezählungen
  • api: Anzahl der regulären API-Anfragen (req_type = 11)
  • user_api: Anzahl der Benutzer-API-Anfragen (req_type = 12)
  • total_api_requests: Summe aller API-Anfragen

Was ist der Unterschied zwischen regulären API- und Benutzer-API-Anfragen?

  • Reguläre API-Anfragen (req_type = 11): Dies sind API-Aufrufe an das System, die keine Benutzerauthentifizierung erfordern. Sie umfassen öffentliche API-Endpunkte, Systemintegrationen oder Drittanbieterdienste, die auf öffentliche Daten zugreifen.
  • Benutzer-API-Anfragen (req_type = 12): Dies sind API-Aufrufe, die mit Benutzerauthentifizierung erfolgen und typischerweise Aktionen darstellen, die im Namen bestimmter Benutzer ausgeführt werden und den Einsatz eines API-Schlüssels erfordern.

Beispielergebnisse

datum api user_api total_api_requests
2023-09-15 34.582 7.249 41.831
2023-09-14 32.104 6.893 38.997
2023-09-13 33.756 7.122 40.878
2023-09-12 35.122 8.562 43.684
2023-09-11 36.475 9.234 45.709
2023-09-10 12.563 3.298 15.861
2023-09-09 10.782 2.982 13.764
2023-09-08 33.892 7.456 41.348
2023-09-07 31.765 7.120 38.885
2023-09-06 32.451 7.321 39.772
6 „Gefällt mir“