Hono-APIs mit Apitally überwachen
Apitally ist ein einfaches Werkzeug zur API-Überwachung und -Analyse für REST-APIs. Es wird über eine leichtgewichtige Middleware in Hono integriert und bietet sofort übersichtliche, intuitive Dashboards mit Metriken, Logs und Benachrichtigungen.
Mit Apitally kannst du:
- API-Nutzung, Leistung und Fehler überwachen
- Die API-Nutzung einzelner Verbraucher verfolgen
- API-Anfragen und -Antworten protokollieren und untersuchen
- Anwendungslogs und Traces erfassen und mit Anfragen verknüpfen
- Verfügbarkeitsüberwachung und eigene Benachrichtigungen einrichten
Installation
Installiere das Apitally SDK in deinem Projekt:
# npm
npm install apitally
# yarn
yarn add apitally
# pnpm
pnpm add apitally
# bun
bun add apitallyEinrichtung
Erstelle zunächst im Apitally-Dashboard eine Anwendung, um deine Client-ID zu erhalten. Füge dann die Middleware mit der Funktion useApitally zu deiner Hono-Anwendung hinzu:
import { Hono } from 'hono'
import { useApitally } from 'apitally/hono'
const app = new Hono()
useApitally(app, {
clientId: 'your-client-id', // Get this from the Apitally dashboard
env: 'dev', // or "prod", etc.
// Optional: Enable and configure request logging
requestLogging: {
enabled: true,
logRequestHeaders: true,
logRequestBody: true,
logResponseBody: true,
captureLogs: true,
},
})
// Add your routes after the middleware
app.get('/', (c) => c.text('Hello Hono!'))
export default appFüge die Apitally-Middleware vor allen anderen Middlewares hinzu, damit sie den gesamten Verarbeitungsablauf der Anwendung umschließt.
Verbraucher identifizieren
Um die API-Nutzung einzelner Verbraucher zu verfolgen, verknüpfe Anfragen mithilfe der Funktion setConsumer mit Verbraucherkennungen. Dies erfolgt üblicherweise in einer Middleware nach der Authentifizierung. Du kannst optional auch einen Anzeigenamen und eine Verbrauchergruppe angeben.
import { setConsumer } from 'apitally/hono'
app.use(async (c, next) => {
const payload = c.get('jwtPayload')
if (payload) {
setConsumer(c, {
identifier: payload.sub,
name: payload.name, // optional
group: payload.group, // optional
})
}
await next()
})Das Verbraucher-Dashboard in Apitally zeigt nun alle Verbraucher an. Du kannst Logs und Metriken nach Verbraucher filtern.
Siehe auch
- Apitally – Offizielle Website
- Apitally SDK – GitHub-Repository
- Offizielle Einrichtungsanleitung
- Offizielle Einrichtungsanleitung für Cloudflare Workers