Java -Anwendungsüberwachung mit Prometheus und Grafana
Jul 28, 2025 am 02:37 AMVerwenden Sie Mikrometer, um Metriken in Java -Anwendungen freizulegen. Durch Hinzufügen von Abh?ngigkeiten und Konfigurieren des Spring -Boot -Aktuators gibt die Anwendung die überwachung von Daten im Prometheus -Format am Endpunkt /Actuator /Prometheus aus. 2. Konfigurieren Sie Prometheus 'crape_configs, fügen Sie Job_Name zur Crawling-Aufgabe "java-app" hinzu, geben Sie Metrics_Path und Ziele an, um regelm??ig Java-Anwendungsmetriken zu sammeln, und überprüfen Sie den Akquisitionsstatus über die Zielseite von Prometheus' Targets; 3. Starten Sie Grafana und fügen Sie Prometheus als Datenquelle hinzu und erstellen Sie schnell ein visuelles überwachungspanel für Schlüsselmetriken wie JVM -Speicher, Threads, GC, HTTP -Anforderungen usw., indem Sie Community -Vorlagen importieren (wie IDS 4701 und 2588). V. Diese L?sung implementiert eine vollst?ndige überwachungsverbindung von der Indikatorbelastung, Erfassung und Speicherung zur visuellen Anzeige von Java -Anwendungen, wodurch die Systemstabilit?t und die Leistungsoptimierung effektiv unterstützt werden.
Die überwachung von Java -Anwendungen ist entscheidend für die Gew?hrleistung der Systemstabilit?t und -leistung. Prometheus und Grafana sind die beliebtesten Open -Source -überwachungskombinationen: Prometheus sammelt und speichert metrische Daten, w?hrend Grafana für die visuelle Anzeige verwendet wird. Mit der Verwendung für die überwachung von Java -Anwendungen k?nnen Sie schnell ein leistungsstarkes, flexibles und skalierbares überwachungssystem erstellen.

Im Folgenden finden Sie wichtige Schritte und Best Practices für die Implementierung der Java -Anwendungsüberwachung.
1. Die überwachungsmetriken in Java -Anwendungen aussetzen (unter Verwendung von Mikrometer -Prometheus)
Damit Prometheus Metriken für Java -Anwendungen kriechen kann, müssen Sie zun?chst eine HTTP -Schnittstelle in der Anwendung aufdecken und das Format zurückgeben, dass Prometheus lesbar ist (normalerweise /metrics
oder /actuator/prometheus
).

Micrometer wird empfohlen : Es handelt sich um eine De -facto -Standard -Metrikfassade im Java -Feld, unterstützt mehrere überwachungssysteme (einschlie?lich Prometheus) und integriert nahtlos in Spring Boot.
Fügen Sie Abh?ngigkeiten hinzu (Maven -Beispiel):
<De vorangehen> <SupructId> io.micrometer </gruppeId> <artifactid> micrometer-core </artifactid> </abh?ngig> <De vorangehen> <SupructId> io.micrometer </gruppeId> <artifactid> micrometer-Registry-Prometheus </artifactid> </abh?ngig>
Konfigurieren Sie den Spring -Startaktuator (Spring -Boot -Benutzer):
# application.yml Management: Endpunkte: Web: Belichtung: H?ren Sie: Gesundheit, Info, Metriken, Prometheus Metriken: Tags: Anwendung: $ {Spring.Application.Name}
Nach dem Start der Bewerbung besuchen Sie http://localhost:8080/actuator/prometheus
und Sie sollten so etwas sehen wie:

# HILFE JVM_MEMORY_USED_BYTES # Eingeben JVM_MEMORY_USED_BYTES {ARIA = "Heap", ID = "PS Old Gen",} 2.3405672E7 ...
Dies weist darauf hin, dass der Indikator erfolgreich aufgedeckt wurde.
2. Konfigurieren Sie Prometheus -Krabbelmetriken
Prometheus muss einen Job konfigurieren, um regelm??ig Ihre Java -Anwendungsmetriken zu kriechen.
Modifizieren Sie prometheus.yml
:
crape_configs: - Job_Name: 'Java-App' metrics_path: '/Aktuator/Prometheus' static_configs: - Ziele: ['host.docker.internal: 8080'] # Wenn es sich um ein lokaler Docker handelt oder die tats?chliche IP verwendet
Hinweis: Wenn die Java-Anwendung in einem Docker-Container ausgeführt wird, sollten
targets
eine für das Docker-Netzwerk zug?ngliche Adresse wieyour-service:8080
verwenden.
Starten Sie Prometheus:
Docker Run -d -p 9090: 9090 -v $ (pwd) /prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
Besuchen Sie http://localhost:9090
und best?tigen Sie, dass Ihr Java -Anwendungsstatus auf der Seite "Ziele" "up" ist.
3.. Verwenden Sie Grafana, um das überwachungspanel anzuzeigen
Grafana wird verwendet, um eine Verbindung zu Prometheus -Datenquellen herzustellen und wichtige Metriken wie JVM, HTTP -Anforderungen und GC über ein grafisches Panel anzuzeigen.
Starten Sie Grafana:
Docker Run -d -p 3000: 3000 Grafana/Grafana
Besuchen Sie http://localhost:3000
, das Standardkennwort für das Konto ist admin/admin
.
Fügen Sie Prometheus -Datenquelle hinzu:
- Gehen Sie zu Konfiguration> Datenquellen> Datenquelle hinzufügen
- W?hlen Sie Prometheus
- Füllen Sie die URL aus:
http://host.docker.internal:9090
(oder die Adresse, in der sich der Prometheus -Container befindet) - Klicken Sie auf Speichern und Test, um zu best?tigen, dass die Verbindung erfolgreich ist
Importieren des Java -überwachungspanels
Empfohlene Vorlagen, die von der offiziellen Gemeinschaft von Grafana gepflegt wurden:
- JVM -Mikrometer -Armaturenbrett (ID: 4701)
- Feder -Boot -Statistik (ID: 2588)
Importmethode:
- Geben Sie create> importieren
- Geben Sie die Panel -ID ein (z. B.
4701
) - W?hlen Sie die Prometheus -Datenquelle aus
- Klicken Sie auf Import
Sie sehen die folgenden überwachungsinformationen:
- JVM-Speicherverbrauch (Heap/Nicht-Heap)
- Anzahl der Threads
- GC -Zeiten und Zeitkonsum
- HTTP -Anforderungslatenz und Durchsatz
- CPU -Verwendung
4. Benutzerdefinierte Gesch?ftsmetriken (optional, aber empfohlen)
Zus?tzlich zu Systemindikatoren k?nnen Sie die Gesch?ftslogik wie Auftragsverarbeitung, Cache -Hit -Rate usw. überwachen.
Beispiel: Verarbeitungszeiten der Aufzeichnung der Aufzeichnung
@Autowired privates Meterregister; public void ProcessOrder (Order Order) { Counter counter = registry.counter ("ordnes.processed", "type", order.gettType ()); counter.increment (); // Logik verarbeiten ... }
Sie k?nnen in Prometheus abfragen:
Bestellungen_Processed_total {type = "Premium"}
Fügen Sie dann ein Diagramm in Grafana hinzu, um die Gesch?ftstrends zu überwachen.
Grunds?tzlich ist das. Der gesamte Prozess ist nicht kompliziert, aber sehr praktisch:
Java -Anwendungen enthüllen Metriken über Mikrometer → Prometheus -Crawl -Speicher → Grafana -Visualisierung.
Nach dem Bau k?nnen Sie die Gesundheit der Anwendung in Echtzeit erfassen und schnell Speicherlecks, hohe Latenzanfragen und andere Probleme finden.
Das obige ist der detaillierte Inhalt vonJava -Anwendungsüberwachung mit Prometheus und Grafana. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen





Setupamaven/GradleProjectWithjax-rsdependencies-?hnlich Jersey; 2. CreatearestresourcEUntationSuchas@pathand@Get; 3.ConfiguretheApplicationviaApplicationSubclitsorweb.xml;

Maven ist ein Standardwerkzeug für Java -Projektmanagement und -aufbau. Die Antwort liegt in der Tatsache, dass Pom.xml verwendet wird, um Projektstruktur, Abh?ngigkeitsmanagement, Konstruktionslebenszyklusautomation und Plug-in-Erweiterungen zu standardisieren. 1. Verwenden Sie POM.xml, um Gruppen, Artefaktid, Version und Abh?ngigkeiten zu definieren; 2. Master -Kernbefehle wie MVNClean, Compile, Test, Paket, Installation und Bereitstellen; Fn. V. 5.

Verwenden Sie zun?chst JavaScript, um die Einstellungen für Benutzersysteme und lokal gespeicherte Themeneinstellungen zu erhalten und das Seitenthema zu initialisieren. 1. Die HTML -Struktur enth?lt eine Schaltfl?che zum Ausl?sen von Themenwechsel. 2. CSS verwendet: root, um helle Themenvariablen zu definieren, .Dark-Mode-Klasse definiert dunkle Themenvariablen und wendet diese Variablen über var () an. 3.. JavaScript erkennt bevorzuge-farbige Scheme und liest LocalStorage, um das ursprüngliche Thema zu bestimmen. 4. Schalten Sie die Dark-Mode-Klasse im HTML-Element beim Klicken auf die Schaltfl?che und speichern Sie den aktuellen Status vor LocalStorage. 5. Alle Farb?nderungen werden mit einer übergangsanimation von 0,3 Sekunden begleitet, um den Benutzer zu verbessern

Ja, ein gemeinsames CSS-Dropdown-Menü kann mit reinem HTML und CSS ohne JavaScript implementiert werden. 1. Verwenden Sie verschachtelte UL und Li, um eine Menüstruktur zu erstellen. 2. Verwenden Sie die: Hover Pseudo-Klasse, um die Anzeige und das Verstecken von Pulldown-Inhalten zu steuern. 3.. Setzen Sie Position: Relativ für Eltern -Li, und das Untermenü wird unter Verwendung von Position positioniert: absolut; 4. Das untergeordnete Standards ist angezeigt: Keine, die angezeigt wird: Block, wenn sie schwebend sind; 5. Multi-Level-Pulldown kann durch Verschachtelung, kombiniert mit dem übergang und Fade-In-Animationen erzielt und an mobile Terminals mit Medienabfragen angepasst werden. Die gesamte L?sung ist einfach und erfordert keine JavaScript -Unterstützung, was für gro?e geeignet ist

@Property Decorator wird verwendet, um Methoden in Eigenschaften umzuwandeln, um die Les-, Einstellungs- und L?schsteuerung von Eigenschaften zu implementieren. 1. Grundnutzung: Definieren Sie nur schreibgeschützte Attribute über @Property, wie z. B. Bereich berechnet auf dem Radius und direkt zugegriffen; 2. Erweiterte Verwendung: Verwenden Sie @name.setter und @name.deleter, um die überprüfung der Attributzuweisung und L?schvorg?nge zu implementieren; 3. Praktische Anwendung: Führen Sie die Datenüberprüfung in Setzen durch, z. B. BankAccount, um sicherzustellen, dass der Restbetrag nicht negativ ist. 4. Benennungsspezifikation: Die internen Variablen sind vorangestellt, Eigenschaftennamen sind mit den Attributen überein, und eine einheitliche Zugriffskontrolle wird zur Verbesserung der Codesicherheit und -wartbarkeit verwendet.

Um Hash -Werte mit Java zu generieren, kann es über die MessagedIGest -Klasse implementiert werden. 1. Holen Sie sich eine Instanz des angegebenen Algorithmus wie MD5 oder SHA-256; 2. Rufen Sie die Methode .update () auf, um die zu verschlüsselnden Daten zu übergeben. 3. Nennen Sie die Methode .Digest (), um ein Hash -Byte -Array zu erhalten. 4. Umwandeln Sie das Byte -Array in eine hexadezimale Zeichenfolge zum Lesen; Lesen Sie für Eingaben wie gro?e Dateien in Stücken und rufen Sie .update () mehrmals auf. Es wird empfohlen, SHA-256 anstelle von MD5 oder SHA-1 zu verwenden, um die Sicherheit zu gew?hrleisten.

Verwenden Sie datetime.strptime (), um Datumszeichenfolgen in DateTime -Objekt umzuwandeln. 1. Grundnutzung: Analyse "2023-10-05" als DateTime-Objekt über "%y-%M-%d"; 2. unterstützt mehrere Formate wie "%M/%d/%y", um amerikanische Daten zu analysieren, "%d/%m/%y", um britische Daten zu analysieren ",%b%d,%y%i:%m%p", um die Zeit mit AM/PM zu analysieren; 3.. Verwenden Sie DateUtil.Parser.Parse (), um unbekannte Formate automatisch zu schlie?en; 4. Verwenden Sie .D

Die Datei "Settings.JSON" befindet sich auf dem Pfad auf Benutzerebene oder Arbeitsbereichsebene und wird verwendet, um die VSCODE-Einstellungen anzupassen. 1. Benutzer-Level-Pfad: Windows ist C: \ Benutzer \\ AppData \ Roaming \ Code \ User \ Settings.json, MacOS is /users//library/applicationsupport/code/user/settings.json, Linux is /home/.config/code/usser/setings.json; 2. Pfad auf Arbeitsbereichsebene: .VSCODE/Einstellungen im Projekt Root Directory
