Integrations
Enables monitoring and analysis of Kubernetes metrics, including the ability to query container, pod, and other Kubernetes-specific metrics collected by VictoriaMetrics.
Supports Prometheus-compatible functionality including querying with PromQL, metric relabeling rules debugging, and integration with Prometheus configuration when used as a scraper for VictoriaMetrics.
Provides access to a VictoriaMetrics monitoring system, enabling querying metrics, exploring data, analyzing alerts/rules, viewing instance parameters, exploring data cardinality, analyzing queries, and debugging relabeling rules and retention configurations.
VictoriaMetrics MCP-Server
Die Implementierung des Model Context Protocol (MCP) -Servers für VictoriaMetrics .
Dies ermöglicht den Zugriff auf Ihre VictoriaMetrics-Instanz und die nahtlose Integration mit den APIs und der Dokumentation von VictoriaMetrics . Es bietet Ihnen eine umfassende Schnittstelle für Überwachungs-, Beobachtungs- und Debugging-Aufgaben im Zusammenhang mit Ihren VictoriaMetrics-Instanzen und ermöglicht erweiterte Automatisierungs- und Interaktionsfunktionen für Ingenieure und Tools.
Merkmale
Mit diesem MCP-Server können Sie fast alle schreibgeschützten APIs von VictoriaMetrics verwenden, d. h. alle in VMUI verfügbaren Funktionen:
- Abfragen von Metriken und Erkunden von Daten (sogar Zeichnen von Diagrammen, wenn Ihr Client dies unterstützt)
- Auflisten und Exportieren verfügbarer Metriken, Beschriftungen, Beschriftungswerte und ganzer Reihen
- Analysieren Ihrer Alarmierungs- und Aufzeichnungsregeln und Alarme
- Parameter Ihrer VictoriaMetrics-Instanz werden angezeigt
- Untersuchen der Kardinalität Ihrer Daten- und Metriknutzungsstatistiken
- Analysieren Ihrer Abfragen
- Debuggen Ihrer Relabeling-Regeln, Downsampling- und Aufbewahrungsrichtlinienkonfigurationen
Darüber hinaus enthält der MCP-Server eingebettete aktuelle Dokumentationen und kann diese ohne Online-Zugriff durchsuchen.
Weitere Einzelheiten zu den genau verfügbaren Tools und Eingabeaufforderungen finden Sie im Abschnitt „Verwendung“ .
Sie können die Funktionalität von Tools und Dokumenten in Ihren Eingabeaufforderungen kombinieren und großartige Anwendungsszenarien für Ihre VictoriaMetrics-Instanz entwickeln. Sehen Sie sich einfach den Abschnitt mit den Dialogbeispielen an, um zu sehen, wie es funktionieren kann. Beachten Sie bitte, dass die Qualität des MCP-Servers und seiner Antworten stark von den Fähigkeiten Ihres Clients und der Qualität des verwendeten Modells abhängt.
Sie können den MCP-Server auch mit anderen MCP-Servern für Observability oder Dokumentensuche kombinieren und so noch leistungsfähigere Ergebnisse erzielen.
Anforderungen
- VictoriaMetrics- Instanz ( Einzelknoten oder Cluster )
- Go 1.24 oder höher (wenn Sie aus der Quelle erstellen möchten)
Installation
Gehen
Quellcode
Binärdateien
Laden Sie einfach die neueste Version von der Seite „Releases “ herunter und fügen Sie sie in Ihren PATH ein.
Docker
Demnächst verfügbar...
Konfiguration
Der MCP-Server für VictoriaMetrics wird über Umgebungsvariablen konfiguriert:
Variable | Beschreibung | Erforderlich | Standard | Zulässige Werte |
---|---|---|---|---|
VM_INSTANCE_ENTRYPOINT | URL zur VictoriaMetrics-Instanz | Ja | - | - |
VM_INSTANCE_TYPE | Typ der VictoriaMetrics-Instanz | Ja | - | single , cluster |
VM_INSTANCE_BEARER_TOKEN | Authentifizierungstoken für die VictoriaMetrics-API | NEIN | - | - |
MCP_SERVER_MODE | Serverbetriebsmodus | NEIN | stdio | stdio , sse |
MCP_SSE_ADDR | Adresse, auf der der SSE-Server lauschen soll | NEIN | localhost:8080 | - |
Konfigurationsbeispiele
Einrichtung in Clients
Cursor
Gehen Sie zu: Settings
-> Cursor Settings
-> MCP
-> Add new global MCP server
und fügen Sie die folgende Konfiguration in Ihre Cursordatei ~/.cursor/mcp.json
ein:
Weitere Informationen finden Sie in den Cursor MCP-Dokumenten .
Claude Desktop
Fügen Sie dies zu Ihrer Claude Desktop-Datei claude_desktop_config.json
hinzu (Sie finden es, wenn Sie Settings
-> Developer
-> Edit config
bearbeiten öffnen):
Weitere Informationen finden Sie in den Claude Desktop MCP-Dokumenten .
Claude Code
Führen Sie den folgenden Befehl aus:
Weitere Informationen finden Sie in den MCP-Dokumenten von Claude Code .
Visual Studio Code
Fügen Sie dies zu Ihrer VS Code MCP-Konfigurationsdatei hinzu:
Weitere Informationen finden Sie in den VS Code MCP-Dokumenten .
Zed
Fügen Sie Ihrer Zed-Konfigurationsdatei Folgendes hinzu:
Weitere Informationen finden Sie in den Zed MCP-Dokumenten .
JetBrains IDEs
- Öffnen Sie
Settings
->Tools
->AI Assistant
->Model Context Protocol (MCP)
. - Klicken Sie
Add (+)
As JSON
auswählen- Tragen Sie in das Eingabefeld Folgendes ein:
Windsurf
Fügen Sie Ihrer Windsurf MCP-Konfigurationsdatei Folgendes hinzu.
Weitere Informationen finden Sie in den Windsurf MCP-Dokumenten .
Amazon Bedrock
Demnächst verfügbar...
Verwenden von Docker anstelle von Binärdateien
Demnächst verfügbar...
Verwendung
Nachdem Sie den MCP-Server installiert und konfiguriert haben, können Sie ihn mit Ihrem bevorzugten MCP-Client verwenden.
Sie können den Dialog mit dem KI-Assistenten mit folgendem Satz starten:
Dies ist jedoch nicht erforderlich. Sie können einfach Fragen stellen, und der Assistent verwendet automatisch die Tools und die Dokumentation, um Ihnen die besten Antworten zu liefern. Werfen Sie einen Blick in die Dialogbeispiele, um besser zu verstehen, was Sie damit tun können.
Werkzeugsatz
MCP VictoriaMetrics bietet zahlreiche Tools für die Interaktion mit Ihrer VictoriaMetrics-Instanz.
Hier ist eine Liste der verfügbaren Tools:
Werkzeug | Beschreibung |
---|---|
query | Führen Sie sofortige PromQL/MetricsQL-Abfragen aus |
query_range | Führen Sie über einen bestimmten Zeitraum PromQL/MetricsQL-Abfragen aus |
metrics | Auflisten der verfügbaren Metriken |
labels | Auflisten der verfügbaren Etikettennamen |
label_values | Listenwerte für ein bestimmtes Label |
series | Verfügbare Zeitreihen auflisten |
export | Exportieren Sie Rohdaten der Zeitreihen in JSON oder CSV |
rules | Alarmierungs- und Aufzeichnungsregeln anzeigen |
alerts | Aktuelle Warnungen anzeigen (ausgelöst und ausstehend) |
flags | Nicht standardmäßige Flags der VictoriaMetrics-Instanz anzeigen |
metric_statistics | Statistiken zur Metriknutzung (in Abfragen) abrufen |
active_queries | Anzeigen aktuell ausgeführter Abfragen |
top_queries | Häufigste oder langsamste Abfragen anzeigen |
tsdb_status | Anzeigen der TSDB-Kardinalitätsstatistik |
tenants | Auflisten der verfügbaren Mandanten in der Multi-Tenant-Cluster-Einrichtung |
documentation | Suche in der eingebetteten VictoriaMetrics-Dokumentation |
metric_relabel_debug | Debuggen von Prometheus-kompatiblen Umbenennungsregeln |
downsampling_filters_debug | Debuggen der Downsampling-Konfiguration |
retention_filters_debug | Konfiguration der Debug-Aufbewahrungsfilter |
Eingabeaufforderungen
Der Server enthält vordefinierte Eingabeaufforderungen für allgemeine Aufgaben.
Dies sind im Moment nur Beispiele, die Prompt-Bibliothek wird in Zukunft erweitert:
Prompt | Beschreibung |
---|---|
unused_metrics | Finden Sie Metriken, die nie abgefragt werden, und erstellen Sie Relabel-Konfigurationen, um deren Aufnahme zu stoppen |
documentation | Durchsuchen Sie die VictoriaMetrics-Dokumentation nach bestimmten Themen |
rarely_used_metrics_with_high_cardinality | Identifizieren Sie Metriken mit hoher Kardinalität, die selten abgefragt werden |
Beachten Sie, dass Downsampling eine Enterprise-Funktion von VictoriaMetrics ist. Ihre aktuelle Lizenz erlaubt Ihnen die Nutzung, da die Lizenzdatei konfiguriert ist.
Dialogbeispiel
Dies ist nur ein Beispiel für einen Dialog mit dem Assistenten unter Verwendung des MCP-Servers, das zum Verständnis der Funktionsweise beitragen kann (es handelt sich jedoch um einen echten Dialog unter Verwendung des Victoria Metrics MCP-Servers mit Claude Desktop und Konfiguration als öffentliche Playground-Instanz ):
Sie : Welche Mandanten sind in meiner VM verfügbar?
Assistent In Ihrer VictoriaMetrics-Instanz sind die folgenden Mandanten verfügbar
0:0
(Standardmandant),1:0
,10:0
,100:0
Sie : Verwenden Sie ab sofort nur noch den Standardmandanten
Assistent : Ich verstehe. Von nun an verwende ich für alle Vorgänge mit Ihrer VictoriaMetrics-Instanz nur noch den Standardmandanten (0:0).
Sie : Welche Kennzahlen haben wir?
Assistent : In Ihrer VictoriaMetrics-Instanz sind zahlreiche Metriken verfügbar. Die Liste enthält Metriken aus verschiedenen Systemen und Komponenten, wie zum Beispiel:
- Systemmetriken (
node_
,machine_
usw.), - Kubernetes-Metriken (
kube_
,container_
,apiserver_
usw.), - VictoriaMetrics-spezifische Metriken (
vm_
,vmagent_
,vmalert_
usw.), - Go-Laufzeitmetriken (
go_
), - Prometheus-bezogene Metriken (
scrape_
,promhttp_
), - Verschiedene Anwendungsmetriken (
argocd_
,alertmanager_
).
Dies ist eine umfassende Liste mit über 2.000 Metriken, die für Abfragen zur Verfügung stehen. Gibt es einen bestimmten Metriktyp, den Sie genauer untersuchen möchten?
- Systemmetriken (
Sie : Okay, arbeiten wir ab jetzt mit Kubernetes-Metriken. Bitte zeigen Sie mir, welche dieser Metriken nie abgefragt wurden.
Assistent : Anhand der Ergebnisse kann ich erkennen, dass es zwei Kubernetes-Metriken gibt, die noch nie abgefragt wurden (Anzahl der Abfragen ist 0):
kube_persistentvolumeclaim_deletion_timestamp
– Diese Metrik liefert Informationen darüber, wann PersistentVolumeClaims zum Löschen markiert wurden.kube_pod_init_container_status_last_terminated_reason
– Diese Metrik zeigt den Grund, warum Init-Container in Pods zuletzt beendet wurden.
Diese Messwerte können für Überwachungs- und Fehlerbehebungszwecke hilfreich sein:
- Die Metrik des PVC-Löschzeitstempels kann dabei helfen, Löschmuster zu verfolgen oder feststeckende PVCs zu identifizieren.
- Die Metrik für den Grund der Beendigung des Init-Containers kann dabei helfen, häufige Fehlermuster in Ihren Initialisierungscontainern zu identifizieren.
Möchten Sie, dass ich Ihnen mehr darüber erkläre, was diese Metriken verfolgen, oder einige nützliche Abfragen vorschlage, um mit der Überwachung zu beginnen?
Sie : Ja, bitte. Können Sie außerdem Regeln zur Neubezeichnung erstellen, um die Aufnahme dieser Messwerte zu unterbinden?
Assistent : Ich erstelle eine Relabel-Konfiguration, um diese nie abgefragten Metriken von der Erfassung auszuschließen. Dies reduziert den Speicher- und Verarbeitungsaufwand. Hier ist die Relabel-Konfiguration, die Sie Ihrer VictoriaMetrics-Scraping-Konfiguration hinzufügen können:
CopyDiese Konfiguration wird:
- Schauen Sie sich den Namen jeder Metrik an (das Label
__name__
). - Überprüfen Sie, ob es einer der angegebenen Metriken entspricht
- Löschen Sie die übereinstimmenden Metriken und verhindern Sie so deren Erfassung und Speicherung.
Sie können dies Ihrer VictoriaMetrics-Konfigurationsdatei oder den entsprechenden Scrape-Job-Konfigurationen in Ihrer Prometheus-Konfiguration hinzufügen, wenn Sie Prometheus als Scraper für VictoriaMetrics verwenden. Wenn Sie diese Relabel-Konfiguration vor der Implementierung testen möchten, können Sie das Debug-Tool für Metrik-Relabels verwenden, um die Auswirkungen auf Ihre Metriken zu prüfen.
- Schauen Sie sich den Namen jeder Metrik an (das Label
Sie : Ja, bitte debuggen Sie diese Relabel-Konfiguration in Echtzeitreihen, um zu sehen, wie sie sich auf meine Metriken auswirken würde
Assistent : Perfekt! Die Neubeschriftungskonfiguration funktioniert wie erwartet:
- Die ersten beiden Testfälle zeigen, dass sowohl die Metriken
kube_persistentvolumeclaim_deletion_timestamp
als auchkube_pod_init_container_status_last_terminated_reason
korrekt gelöscht werden (die resultierenden Bezeichnungen sind leer{}
). - Der dritte Testfall bestätigt, dass andere Metriken wie
kube_pod_status_phase
erhalten bleiben und von unserer Drop-Regel nicht beeinflusst werden.
Sie können diese Relabel-Konfiguration problemlos zu Ihrer VictoriaMetrics- oder Prometheus-Konfiguration hinzufügen, um die Erfassung dieser ungenutzten Metriken zu beenden. Dies spart Speicherplatz und reduziert den Verarbeitungsaufwand, ohne Ihre aktuellen Überwachungsfunktionen zu beeinträchtigen.
- Die ersten beiden Testfälle zeigen, dass sowohl die Metriken
Sie : Aber ich verwende die vmagent-Ressource des VictoriaMetrics-Operators. Könnten Sie mir bitte einen Teil der Spezifikation für meinen Agenten mit dieser Relabel-Konfiguration geben?
Assistent : Sie haben Recht. Da Sie den VictoriaMetrics-Operator und die benutzerdefinierte VMAgent-Ressource verwenden, muss die Konfiguration im entsprechenden Format für diese CR vorliegen. So fügen Sie die Relabel-Konfiguration zu Ihrer VMAgent-Spezifikation hinzu:
CopyWichtige Punkte:
- In der VMAgent-Spezifikation verwenden Sie
inlineRelabelConfig
für Inline-Relabeling-Regeln - Das Feld heißt
sourceLabels
(nichtsource_labels
wie in der Prometheus-Konfiguration). - Dies ist eine globale Neubezeichnung, die auf alle Metriken angewendet wird, bevor sie gespeichert werden
- In der VMAgent-Spezifikation verwenden Sie
Sie : Ich habe beschlossen, diese Messwerte nicht zu entfernen, sondern lediglich die Abtastrate durch Downsampling zu senken. Welche Downsampling-Parameter habe ich jetzt?
Assistent : Ich sehe, dass Sie derzeit die folgende Downsampling-Konfiguration haben:
CopyDas heisst:
- Daten, die neuer als 7 Tage sind, werden in ihrer ursprünglichen Auflösung gespeichert
- Daten, die zwischen 7 und 30 Tage alt sind, werden auf eine Auflösung von 1 Minute heruntergerechnet
- Daten, die 30–180 Tage alt sind, werden auf eine Auflösung von 5 Minuten heruntergerechnet.
- Daten, die älter als 180 Tage sind, werden auf eine Auflösung von 30 Minuten heruntergerechnet.
Wenn Sie nun spezifische Downsampling-Regeln für diese selten abgefragten Metriken hinzufügen möchten, können Sie mit dem Debug-Tool für Downsampling-Filter testen, wie die neuen Regeln funktionieren. Testen wir eine Konfiguration, bei der wir aggressiveres Downsampling auf diese spezifischen Metriken anwenden:
...Serien abrufen und Downsampling-Filter-Debugger verwenden...
Super! Unser Test funktioniert jetzt einwandfrei. Basierend auf der aktuellen Konfiguration und unseren Tests finden Sie hier eine empfohlene Downsampling-Konfiguration für Ihren VMAgent CR, die ein aggressiveres Downsampling auf die selten abgefragten Metriken anwendet:
CopyDiese Konfiguration:
- Wendet für die selten abgefragten Metriken nach nur einem Tag ein Downsampling mit einer Auflösung von 10 Minuten an - Behält Ihre bestehende Downsampling-Richtlinie für alle anderen Metriken bei
Die Reihenfolge der Downsampling-Regeln ist wichtig – spezifischere Regeln sollten zuerst aufgeführt werden.
Während dieses Dialogs verwendete der Assistent die folgenden Tools:
tenants
, um die Liste der verfügbaren Mieter zu erhaltendocumentation
, um Informationen zu Funktionalität und Datenformaten zu erhaltenmetrics
, um die Liste der verfügbaren Metriken abzurufenmetrics_staistics
um Informationen zur Metriknutzung zu erhaltenseries
, um die Zeitreihen zum Debuggen zu erhaltenmetric_relabel_debug
zum Debuggen von Relabeling-Regelnflags
zum Abrufen von Informationen zu Instanzparameterndownsampling_filters_debug
zum Debuggen der Downsampling-Konfiguration
Sie können aber auch beliebige andere Tools verwenden und diese auf Ihre eigene Weise kombinieren.
Haftungsausschluss
KI-Dienste und -Agenten sowie MCP-Server wie dieser können die Genauigkeit, Vollständigkeit und Zuverlässigkeit der Ergebnisse nicht garantieren. Sie sollten die mit KI erzielten Ergebnisse überprüfen. Die Qualität des MCP-Servers und seiner Antworten hängt stark von den Fähigkeiten Ihres Clients und der Qualität des verwendeten Modells ab.
Beitragen
Beiträge zum MCP VictoriaMetrics-Projekt sind willkommen! Senden Sie uns gerne Probleme, Funktionswünsche oder Pull Requests.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
mcp-victoriametrics
Related MCP Servers
- PythonMIT License
- PythonApache 2.0
- -security-license-qualityVictoriaMetrics-mcp-serverLast updated -1JavaScript
- TypeScriptMIT License