Workflows
Diese Beispiele zeigen, wie Tools für gängige Aufgaben zusammengesetzt werden.Untersuchen eines Produktionsfehlers
- Aktuelle offene Ausnahmen auflisten: „Show me all open incidents in production from the last 24 hours”
- Vollständige Details zu einem bestimmten Vorfall abrufen: „Get the details for incident #847 including the stack trace”
- Traces abrufen, um zu sehen, was auf Codeebene passiert ist: „Get the error traces for incident #847”
- Ihre Erkenntnisse dokumentieren: „Add a note to incident #847: investigated the database timeout — connection pool was exhausted during peak traffic”
- Lösen Sie ihn: „Close incident #847”
Profilieren einer langsamen Aktion
- Performance-Überblick abrufen: „Which actions are slowest in the web namespace right now?”
- Traces für den schlimmsten Übeltäter abrufen: „Get traces for BlogPostsController#index from the last hour”
- Span-Baum untersuchen, um den Engpass zu finden: „Show me the full span tree for trace abc123”
- In einen bestimmten Span eintauchen: „Get the details for span def456 in trace abc123”
Triage eines Batches von Vorfällen
- „Find all open incidents in the background namespace from the last week”
- „Mark incidents #120, #121, and #122 as work in progress and assign them to Jana”
- „Close all incidents related to ActionMailer — they were fixed in the last deploy”
Durchsuchen von Protokollen während eines Vorfalls
- „Find all error logs from the last hour”
- „Show me logs where message contains ‘timeout’ on web-1 between 14:00 and 15:00”
- „Get fatal logs from the payments source over the last 30 minutes”
Rekonstruieren einer Kunden-Journey
Wenn ein Benutzer meldet, dass etwas schief gelaufen ist, ist die Antwort normalerweise über Protokolle aus mehreren Quellen, Fehler und Traces verstreut. Diese Zeitleiste manuell zusammenzufügen ist die Art von Arbeit, die die Logging-Benutzeroberfläche nicht für Sie erledigen kann, aber ein Agent kann es.- „Get all logs for user.id=4321 from production over the last 24 hours, across every source”
- „Narrow that to the window between 14:00 and 15:30 UTC and group the results by source”
- „List any open exception incidents from production in that same window — anything tagged with user.id=4321?”
- „For incident #903, pull the error traces and walk the span tree”
- „Summarize what happened: which actions did this user hit, what failed, and where did the error originate?”
get_log_lines, get_exception_incidents und get_traces zu. Der abschließende Zusammenfassungs-Schritt ist, wo MCP seinen Wert beweist — der Agent verfasst die Erzählung, nicht Sie.
Einrichten der Protokollverarbeitung
AppSignal führt Protokollzeilen-Aktionen während der Erfassung in der von Ihnen definierten Reihenfolge aus. Ein gängiges Muster besteht darin, eine Metrik auszugeben, einen Trigger zu erstellen und dann zu filtern — dies stellt sicher, dass AppSignal das Signal erfasst, bevor die Protokollzeile verworfen wird.- Die vorhandenen Protokollzeilen-Aktionen und ihre Reihenfolge überprüfen: Verwenden Sie
get_app_resourcesmitsections: ["log_line_actions"] - „Create a metrics action that counts log lines where severity is error as log.error_count”
- „Add a trigger action that fires an alert when severity is fatal”
- „Add a filter to drop all health check log lines”
- „Reorder those actions so the metrics action runs first, then the trigger, then the filter”
Erstellen eines Anomalieerkennungs-Triggers
- Verfügbare Metriken entdecken: „What metrics are available for my production app?”
- Verfügbare Tags prüfen: „What tags are available for response_time?”
- Den Trigger erstellen: „Create a trigger that fires when mean response time exceeds 500ms for more than 5 minutes, and notify the Slack #alerts channel”
- Einen alten Trigger archivieren, sobald er ersetzt wird: Verwenden Sie
get_triggers, um zuerst die ID zu finden, dann „Archive the old response_time trigger”
Erstellen eines Monitoring-Dashboards
- „What metrics are available for my production app?”
- „Create a dashboard called ‘API Health’ in production”
- „Add a line chart of p95 response time by action to the API Health dashboard”
- „Add an area chart of error rate broken down by namespace”
Tool-Referenz
Jedes Tool benötigtapp_name und app_environment, um die anzusprechende Anwendung zu identifizieren. Beide werden ohne Berücksichtigung der Groß-/Kleinschreibung abgeglichen, sodass MyApp/Production und myapp/production zur selben Anwendung aufgelöst werden.
App-Discovery
get_applications
Ruft alle AppSignal-Anwendungen ab, auf die der Benutzer Zugriff hat.
Gibt Anwendungen im Format app_name/app_environment zurück. Verwenden Sie dies zuerst, um verfügbare Anwendungen zu entdecken, bevor Sie andere Tools aufrufen.
Keine Parameter erforderlich.
get_app_resources
Entdeckt verfügbare Ressourcen in einer AppSignal-Anwendung — Namespaces, Dashboards, Benutzer, Notifier, Protokollquellen, Protokollzeilen-Aktionen, Deploy Markers und Uptime-Monitore.
Besonders nützlich beim Einrichten von Triggern, Zuweisen von Vorfällen oder beim Verständnis der Struktur einer Anwendung.
Die Sektion
deploy_markers gibt bis zu 100 aktuelle Deploys zurück, jeweils mit ihrer vollständigen Revision und dem Zeitraum, in dem sie aktiv waren. Grenzen Sie sie mit deploy_marker_namespace oder deploy_marker_revision ein. Um die Fehler zu finden, die ein Deploy verursacht hat, übergeben Sie dessen Revision an get_exception_incidents (oder verwenden Sie revision: "last" für den letzten Deploy).
Die Sektion uptime_monitors listet jede überwachte URL und ihre Einstellungen auf. Die Uptime selbst wird nicht gespeichert — sie wird aus Metriken berechnet. Fragen Sie also den Counter uptime_monitor_error_count mit get_metrics_timeseries ab, um sie zu berechnen.
Fehlervorfälle
get_exception_incidents
Listet AppSignal-Ausnahmen und -Fehler auf und durchsucht sie.
Verwenden Sie dies, um einen Überblick über aktuelle Ausnahmen zu erhalten, innerhalb eines Zeitraums zu suchen, Vorfälle nach Zustand zu finden oder zu prüfen, welche Vorfälle Aufmerksamkeit benötigen. Gibt 50 Vorfälle pro Seite zurück.
get_incident
Ruft detaillierte Informationen über einen AppSignal-Vorfall ab.
Gibt den aktuellen Zustand, die Zuweisung, das erste und letzte Auftreten, Fehlermeldungen, Stack-Traces oder Details zur Anomaliebenachrichtigung zurück. Unterstützt Ausnahme- und Anomalievorfälle.
update_incidents
Aktualisiert Vorfälle für eine AppSignal-Anwendung in einem Batch.
Verwenden Sie dies, um den Vorfallzustand zu ändern, die Schweregradstufe zu aktualisieren oder Teammitglieder bei mehreren Vorfällen gleichzeitig zuzuweisen oder zu entfernen. Verwenden Sie get_app_resources mit sections: ["users"], um Benutzer-IDs für die Zuweisung zu finden.
manage_incident_note
Erstellt oder aktualisiert eine Notiz zu einem AppSignal-Vorfall. Markdown wird unterstützt.
Verwenden Sie dies, um Kommentare, Statusaktualisierungen, Untersuchungsergebnisse oder Lösungsschritte hinzuzufügen. Fügen Sie eine vollständige GitHub-Issue-URL in die Notiz ein, um dieses Issue mit dem Vorfall zu verknüpfen, sofern die App mit GitHub konfiguriert ist.
Dieses Tool hieß zuvor
create_incident_note. Der alte Name funktioniert weiterhin als Alias, sodass bestehende Prompts und Konfigurationen weiter funktionieren.Performance
get_performance
Performance-Überblick: Sample-basierte Performance-Vorfälle und langsame Aktionen aus Traces.
Für Standard-Ruby- und Elixir-Apps gibt sample-basierte Performance-Vorfälle zurück. Für Apps, die auch OpenTelemetry-Traces senden, gibt zusätzlich eine sortierte Liste von Aktionen mit mittlerer Dauer, Durchsatz und Fehlerquote zurück. Apps, die zu OpenTelemetry migriert werden, können beides zurückgeben.
Folge-Tools: Verwenden Sie get_incident, um einen bestimmten Performance-Vorfall zu untersuchen, get_traces, um Sample-Traces für eine langsame Aktion abzurufen, und update_incidents, um Zustand, Schweregradstufe oder Zuständige zu ändern.
get_traces
Performance- und Fehler-Traces abfragen, Span-Bäume untersuchen und Span-Details anzeigen.
Unterstützt zwei Trace-Typen:
- Performance traces — identifiziert durch Namespace und
action_name. Verwenden Sie diese, um langsame Anfragen zu untersuchen. - Error traces — identifiziert durch Digest. Holen Sie sich den Digest aus
get_incidentoderget_exception_incidents, und verwenden Sie ihn dann hier, um die tatsächlichen Fehler-Traces zu sehen.
- Listenmodus — Traces finden und Trace-IDs abrufen. Geben Sie Namespace +
action_nameoderdigestan. - Baummodus — Übergeben Sie eine
trace_id, um alle Spans als kompakten Baum anzuzeigen. - Span-Detailmodus — Übergeben Sie
trace_idundspan_idfür vollständige Span-Attribute, -Ereignisse und -Ressourceninformationen.
Anomalieerkennung
get_anomaly_incidents
Listet AppSignal-Anomalieerkennungs-Alerts auf und durchsucht sie.
Gibt 50 Alerts pro Seite zurück, einschließlich Zeitstempel und Werten für jeden Alert.
get_triggers
Listet die Anomalieerkennungs-Trigger für eine AppSignal-Anwendung auf.
Gibt aktive (nicht archivierte) Trigger mit ihrer vollständigen Konfiguration zurück — Bedingungen, Notifier und Dashboard-Links. Verwenden Sie dies, um Trigger-IDs zu finden, bevor Sie manage_trigger oder archive_trigger aufrufen.
manage_trigger
Erstellt oder aktualisiert einen Anomalieerkennungs-Trigger.
Trigger sind unveränderlich. Wenn Sie einen Trigger aktualisieren, archiviert AppSignal den vorhandenen (schließt alle zugehörigen Alerts und Vorfälle) und erstellt einen neuen mit einer Versionsketten-Referenz. Geben Sie alle Felder sowohl für Erstellungs- als auch für Aktualisierungsvorgänge an.
Verwenden Sie get_metric_names und get_metric_tags, um verfügbare Metriken und Felder zu entdecken. Verwenden Sie get_app_resources(sections: ["notifiers"]), um Notifier-IDs zu finden.
archive_trigger
Archiviert einen Anomalieerkennungs-Trigger und schließt alle zugehörigen Alerts und Vorfälle.
Idempotent — keine Wirkung, wenn der Trigger bereits archiviert ist. Verwenden Sie get_triggers, um die Trigger-ID zu finden.
Logging
get_log_lines
Fragt Protokollzeilen mit der Ausdruckssyntax von AppSignal ab.
Unterstützt exakte Übereinstimmung, enthält, Negation, numerische Vergleiche, Boolean-Logik und verschachtelte Attribute. Gibt bis zu 100 Zeilen pro Aufruf zurück, standardmäßig neueste zuerst. Bei großen Zeitbereichen in mehrere Aufrufe aufteilen und vorwärts iterieren.
Abfragesyntax:
Verfügbare Felder:
severity, hostname, group, message und beliebige benutzerdefinierte Attribute.
manage_log_line_action
Erstellt oder aktualisiert eine Protokollzeilen-Aktion.
Protokollzeilen-Aktionen werden während der Protokollerfassung in der von Ihnen definierten Reihenfolge ausgeführt. Es gibt drei Typen:
- filter — verwirft übereinstimmende Protokollzeilen, sodass sie nie gespeichert oder weiterverarbeitet werden
- trigger — löst Alerts und Vorfälle aus, wenn die Abfrage übereinstimmt
- metrics — extrahiert Counter-, Gauge- oder Distribution-Metriken aus übereinstimmenden Protokollzeilen
reorder_log_line_actions, um die Reihenfolge nach der Erstellung zu ändern.
Neue Aktionen werden am Ende der Ausführungsreihenfolge angehängt.
reorder_log_line_actions
Ändert die Ausführungsreihenfolge der Protokollzeilen-Aktionen.
Geben Sie die Aktion-IDs in der gewünschten Reihenfolge an. Alle Aktion-IDs, die nicht enthalten sind, werden in ihrer aktuellen relativen Reihenfolge am Ende angehängt. Verwenden Sie get_app_resources(sections: ["log_line_actions"]), um IDs zu finden und die aktuelle Reihenfolge anzuzeigen.
delete_log_line_action
Löscht eine Protokollzeilen-Aktion dauerhaft.
Verwenden Sie get_app_resources(sections: ["log_line_actions"]), um zuerst die Aktion-ID zu finden.
Metriken
discover_metrics
Entdeckt verfügbare Metrikkategorien und ihre Metriken für die Überwachung.
Verwenden Sie dies, um einen Überblick darüber zu erhalten, was Sie überwachen können, oder um in eine bestimmte Kategorie einzutauchen. Akzeptiert auch eine dashboard:id-Referenz, um Metriken anzuzeigen, die in einem bestimmten Dashboard verwendet werden.
get_metric_names
Ruft die Namen aller Metriken für die angegebene Anwendung ab.
Gibt Metriknamen als komma-separierte Zeichenkette zurück. Verwenden Sie diese als Eingabe für get_metric_tags, get_metrics_timeseries und get_metrics_list.
get_metric_tags
Ruft die Tags und den Metriktyp (Gauge, Counter usw.) für eine bestimmte Metrik ab.
Verwenden Sie die Ergebnisse, um gültige Abfragen mit get_metrics_timeseries und get_metrics_list zu erstellen.
get_metrics_timeseries
Ruft eine Zeitreihe für eine Metrik in der angegebenen Anwendung ab.
Gibt Punkt-für-Punkt-Daten für einen bestimmten Zeitbereich, Metriktyp und eine Tag-Kombination zurück. Tag-Werte unterstützen Platzhalterabgleich mit *.
get_metrics_list
Ruft einen aggregierten Wert für eine Metrik über einen Zeitbereich ab.
Gibt einen einzelnen aggregierten Wert anstelle einer Punkt-für-Punkt-Zeitreihe zurück. Nützlich für Übersichtsansichten.
Dashboards
manage_dashboard
Erstellt oder aktualisiert ein AppSignal-Dashboard.
Dieses Tool verwaltet nur Dashboard-Metadaten (Titel und Beschreibung). Verwenden Sie create_dashboard_visual und update_dashboard_visual, um Diagramme hinzuzufügen.
create_dashboard_visual
Fügt einem vorhandenen Dashboard ein neues Diagramm oder einen Graphen hinzu.
Verwenden Sie zuerst discover_metrics oder get_metrics_list, um verfügbare Metriken zu finden.
update_dashboard_visual
Aktualisiert ein vorhandenes Diagramm oder einen Graphen in einem Dashboard.
Alle Felder sind optional außer den Identifikatoren. Nicht angegebene Felder behalten ihre aktuellen Werte. Wenn metrics angegeben ist, ersetzt es alle vorhandenen Metriken in diesem Visual.
Token-Berechtigungen
Jedes MCP-Token hat konfigurierbare Berechtigungen nach Toolset:app, exceptions, performance, metrics, anomalies, dashboards, logging. Jedes Toolset kann auf read, write oder deaktiviert gesetzt werden.
Tokens können auch auf bestimmte Anwendungen beschränkt und so eingestellt werden, dass neue Tools automatisch verfügbar werden, sobald sie hinzugefügt werden.
So generieren Sie ein Token:
- Wählen Sie Ihr Profilsymbol aus.
- Gehen Sie zu Account Settings.
- Wählen Sie MCP Tokens aus, um ein neues Token zu erstellen.