Allgemeine Einführung
Xata Agent ist ein Open-Source-KI-Tool, das speziell für PostgreSQL-Datenbanken entwickelt wurde. Es kann den Datenbankstatus automatisch überwachen, die Ursache von Leistungsproblemen oder Ausfällen finden und Empfehlungen für die Reparatur geben. Das Entwicklerteam xAI positioniert es als einen "Datenbankexperten" ähnlichen Assistenten, der für Entwickler und Betriebspersonal geeignet ist. Das Projekt wird auf GitHub gehostet, mit einem aktuellen Datum vom 17. März 2025, und bedient mehr als 35.000 aktive PostgreSQL-Datenbanken. xata Agent ist nicht nur kostenlos und quelloffen, sondern unterstützt auch Erweiterungen, die es den Benutzern ermöglichen, Tools hinzuzufügen oder Einstellungen nach Bedarf zu optimieren. Er legt Wert auf Sicherheit und führt keine Operationen durch, die die Datenbank beschädigen könnten. Alle Diagnosen und Empfehlungen basieren auf vordefinierten SQL-Befehlen und Analyselogiken.
Funktionsliste
- Echtzeit-ÜberwachungKontinuierliche Überprüfung des Betriebsstatus der Datenbank, einschließlich der Anzahl der Verbindungen, langsamer Abfragen und Wartezeiten auf Sperren.
- ProblemdiagnoseAnalyse von Protokollen und Metriken, um die Ursachen für eine hohe CPU-Auslastung oder geringen Speicherplatz zu ermitteln.
- Optimierungsempfehlungen: Vorschläge für spezifische Parametereinstellungen, wie z. B. Speicherzuweisung oder Verbindungsobergrenzen, bereitstellen.
- Langsame AbfrageanalyseAuflistung der Abfragen, deren Ausführung viel Zeit in Anspruch nimmt, und Angabe von Möglichkeiten zur Verbesserung.
- Integration von Protokollen und MetrikenUnterstützung für den Abruf von Daten aus AWS RDS und Aurora über Cloudwatch.
- Erweiterbare UnterstützungErmöglicht Benutzern das Hinzufügen benutzerdefinierter Tools oder Playbooks für bestimmte Aufgaben.
- BenachrichtigungsfunktionSenden Sie Problemwarnungen über Slack für eine einfache und zeitnahe Reaktion des Teams.
Hilfe verwenden
Ablauf der Installation
Xata Agent muss mit einer PostgreSQL-Datenbank laufen, der Installationsprozess ist einfach und wird hauptsächlich über Docker bereitgestellt. Im Folgenden finden Sie die detaillierten Schritte:
- Vorbereiten der Umgebung
- Stellen Sie sicher, dass Sie Docker und Docker Compose installiert haben. Dies können Sie mit dem Befehl
docker --version
im Gesang antwortendocker-compose --version
Prüfen. - Eine PostgreSQL-Datenbank ist erforderlich, um die Konfiguration und die historischen Daten des Xata-Agenten zu speichern.
- Stellen Sie sicher, dass Sie Docker und Docker Compose installiert haben. Dies können Sie mit dem Befehl
- Projekt herunterladen
- Öffnen Sie ein Terminal und geben Sie den Befehl Repository klonen ein:
git clone https://github.com/xataio/agent.git
- Rufen Sie den Projektkatalog auf:
cd agent
- Öffnen Sie ein Terminal und geben Sie den Befehl Repository klonen ein:
- Umgebungsvariablen konfigurieren
- Im Stammverzeichnis des Projekts finden Sie die Datei
.env.production
Datei, öffnen Sie sie mit einem Texteditor. - Legen Sie die folgenden erforderlichen Felder fest:
PUBLIC_URL
Geben Sie Ihre Zugangsadresse ein, z. B.http://localhost:8080
.OPENAI_API_KEY
Geben Sie Ihren OpenAI API Schlüssel ein (andere Modelle wie Anthropic oder Deepseek werden unterstützt).
- Optional: Wenn Sie Slack-Benachrichtigungen verwenden, fügen Sie Slack-bezogene Schlüssel hinzu.
- Im Stammverzeichnis des Projekts finden Sie die Datei
- Neue Dienste
- Läuft im Terminal:
docker-compose up -d
- Dadurch werden der Xata-Agent und eine temporäre PostgreSQL-Datenbank gestartet. Warten Sie ein paar Minuten, bis das Terminal anzeigt, dass der Dienst läuft.
- Läuft im Terminal:
- Zugangsschnittstelle
- Öffnen Sie Ihren Browser und geben Sie
http://localhost:8080
(oder die von Ihnen festgelegte PUBLIC_URL). - Folgen Sie den Anweisungen auf der Seite, um die Ersteinrichtung abzuschließen, z. B. die Verbindung zu Ihrer PostgreSQL-Zieldatenbank.
- Öffnen Sie Ihren Browser und geben Sie
Hauptfunktionen
Echtzeit-Überwachung
- Nach der Anmeldung wird auf der Startseite der aktuelle Status der Zieldatenbank angezeigt, z. B. die Anzahl der aktiven Verbindungen und die CPU-Auslastung.
- Klicken Sie auf die Registerkarte "Überwachen", um eine detaillierte Grafik der Metriken zu sehen, deren Daten alle 10 Sekunden aktualisiert werden.
Problemdiagnose
- Wenn eine Anomalie in der Datenbank auftritt, z. B. eine hohe CPU-Auslastung, klicken Sie auf die Schaltfläche "Diagnose".
- Der Xata-Agent führt automatisch vordefinierte SQL-Befehle aus (z. B. die Überprüfung der
pg_stat_statements
) und zeigt dann die Ursache des Problems an, z. B. dass eine bestimmte Abfrage zu viele Ressourcen verbraucht.
Optimierungsempfehlungen
- Auf der Seite Vorschläge listet das Tool die aktuellen Parameterkonfigurationen auf (z. B.
max_connections
vielleichtshared_buffers
). - Daneben werden der empfohlene Wert und der Grund für die Anpassung angegeben, z. B. "Erhöhung der Speicherzuweisung verringert die Festplattenzugriffe".
Langsame Abfrageanalyse
- Auf der Registerkarte "Langsame Abfragen" listet das Tool SQL-Anweisungen auf, deren Ausführung länger als 2 Sekunden dauert.
- Klicken Sie auf eine Abfrage, um den detaillierten Ausführungsplan und Optimierungsvorschläge, z. B. das Hinzufügen von Indizes, anzuzeigen.
caveat
- Wenn Sie das Programm zum ersten Mal verwenden, sollten Sie zunächst eine Verbindung zu einer Testdatenbank herstellen, um sicherzustellen, dass es richtig konfiguriert ist.
- Wenn Sie die Funktionalität erweitern müssen, können Sie dies in der
apps/dbagent/src/lib/tools
Verzeichnis, um benutzerdefinierte Werkzeuge hinzuzufügen. Einzelheiten finden Sie in der offiziellen README.
Anwendungsszenario
- Kleine und mittlere Entwicklungsteams
Szenariobeschreibung: Ein Entwicklungsteam verwaltet mehrere PostgreSQL-Datenbanken ohne einen Vollzeit-DBA. Xata Agent kann die Datenbanken automatisch überwachen, langsame Abfragen oder übermäßige Verbindungen identifizieren und Optimierungsvorschläge machen, um die Belastung des Teams zu reduzieren. - Betrieb und Wartung von Cloud-Datenbanken
Szenariobeschreibung: Eine PostgreSQL-Instanz, die auf AWS RDS läuft, hat einen Leistungsengpass. Benutzer greifen über den Xata-Agenten auf Cloudwatch-Protokolle zu, um Probleme, wie z. B. Latenz aufgrund von Wartesperren, schnell zu erkennen und Empfehlungen für Tuning-Parameter zu erhalten. - Wartung von Open-Source-Projekten
Beschreibung des Szenarios: Open-Source-Projekte müssen eine stabile Datenbank betreiben, haben aber nur begrenzte Ressourcen. Xata Agent ist kostenlos und einfach zu implementieren, überwacht in Echtzeit und benachrichtigt den Entwickler über Anomalien via Slack.
QA
- Ist Xata Agent kostenlos?
Ja, es ist ein Open-Source-Tool und völlig kostenlos. Sie müssen nur die Kosten für die Betriebsumgebung decken, z. B. die Kosten für den Docker-Server. - Wird dadurch meine Datenbank verändert?
Nein. Xata Agent führt nur reine Lesebefehle aus und führt keine Änderungsoperationen durch; alle Empfehlungen müssen manuell umgesetzt werden. - Welche Datenbanken werden unterstützt?
Derzeit wird nur PostgreSQL unterstützt, einschließlich der Versionen von Cloud-Diensten wie RDS und Aurora.