Instana APM Monitoring mit automatischer Problemerkennung

Application Performance Monitoring Lösung made in Germany

Instana APM Monitoring: Application Performance Monitoring mit automatischer Problemerkennung Instana erkennt automatisch, wenn Ihre Cloud-, Container- oder Microservice-Anwendungen mit Leistungseinbußen kämpfen. Reduzieren Sie die Ausfallrisiken Ihrer IT-Systeme auf ein Minimum und profitieren Sie von unseren Tipps zur Integration und Transaktion per StatsD sowie zur metrischen Überwachung.

Was ist Instana Monitoring?

Instana ist eine Application Performance Management-Software (APM). Entwickelt wurde die Monitoring-Lösung von der deutschen Startup-Firma Instana, die seit 2020 zu IBM gehört.
Die führende APM-Software deckt Auffälligkeiten im Verhalten von Anwendungen und ihren Komponenten auf, findet die Ursachen und bietet eigenständig Lösungsvorschläge an. Es gibt kaum eine Branche, für die Instana als Application Performance Tool nicht große Vorteile bringt. Und zwar unabhängig davon, ob das Anwender-unternehmen beispielsweise im Handel, in der industriellen Fertigung oder im Dienstleistungssektor aktiv ist.

Welche Bausteine umfasst Instana Monitoring?

Instana überwacht Cloud-, Container- und Microservice-Anwendungen. Dabei werden Topologie und Abhängigkeiten der Applikationen automatisch erkannt. Die Monitoring-Software erfasst Änderungen durch Code-Deployments, Containerzuweisungen oder Rekonfigurationen und visualisiert diese. Das APM-Tool kann kann Störungen im Prozessablauf frühzeitig erkennen und das Ausfallrisiko auf ein Minimum verringern. Zudem sinkt der Verwaltungsaufwand, die Kosten werden reduziert, und die Verfügbarkeit der Anwendungen steigt.
Instana Monitoring sorgt für lückenlose Transparenz über die CI/CD-Pipelines (Continuous Integration/Continuous Delivery). Die Application Performance Management Software reduziert die Komplexität durch ein automatisiertes Discovery und Dependency Mapping der gesamten Unternehmensinfrastruktur. Dabei kommen bewährte Open-Source-Technologien wie das Monitoring-Werkzeug Prometheus und das Observability-Framework OpenTelemetry zum Einsatz. In Verbindung mit IBM Watson sind KI-gestützte Warnmeldungen realisierbar, wenn sich eine Anwendung anders verhält als vom System erwartet. Die überwachten Anwendungen können On-Premises, in der Cloud oder in einer Hybrid-Umgebung ausgeführt werden.

Was kann Instana Monitoring?

  • End-User Experience Monitoring
    Anhand der nutzerbasierten Leistungsdaten wird ermittelt, wie gut eine Anwendung funktioniert. Potenzielle Leistungsprobleme werden automatisch identifiziert.  
  • Runtime Application Architecture Discovery Modeling and Display
    Über die visuelle Darstellung der Anwendung in einer Flow-Map können alle Komponenten und deren Interaktion überprüft werden.  
  • User-defined Transaction Profiling
    Szenarien, die zu Leistungsproblemen führen, sind unter Testbedingungen simulierbar.  
  • Component deep-dive Monitoring in Application Context
    Performance-Metriken, die sich auf einzelne Anwendungsteile beziehen, werden identifiziert.  
  • Analytics
    Aus der detaillierten Auswertung der Ergebnisse können Nutzungsmuster erkannt, Schwankungen zu identifizieren und potenzielle Störungen vorherzusagen, bevor sie auftreten.  

Integration externer Metriken in Instana via StatsD

Beim Betrieb einer Softwareanwendung gibt es immer wieder Situationen, die nicht vom IT-Monitoring erfasst werden können, aber trotzdem von Bedeutung sind. Um dieser Problematik zu begegnen, können Sie sich der Linux-Kommandozeile bedienen, um die folgenden Bereiche zu überwachen:
  • Größe einer Datei 
  • Verfügbarkeit der Datei 
  • Anzahl der Dateien in einem Verzeichnis 
  • Ladezeit einer Webseite 
  • Verfügbarkeit der Webseite 
  • ... und vieles mehr! 
Der Instana Agent bietet einen aktivierbaren StatsD-Dienst (kein dediziertes StatsD!) für die Übertragung von Messwerten. Der Anwender erstellt ein Skript, in dem er per Kommandozeile einen beliebigen Messwert ermittelt und diesen über StatsD an Instana sendet. Mit dem Cron-Job-Mechanismus wird das Skript zeitgesteuert ausgeführt, um eine kontinuierliche Messung zu implementieren. Die Überschreitung bestimmter Messwerte kann automatisierte Warnmeldungen auslösen.
 
Instana Monitoring: Die obige Grafik veranschaulicht das intelligente Integrationskonzept der Application Performance Management-Software.
Abbildung: Integration externer Metriken aus dem IT-Betrieb in Instana via StatsD

Was benötigen Sie für die Umsetzung der StatsD Metriken in Instana?

Die folgenden Anforderungen werden für die Implementierung einer Kommandozeilen-Ausführung und/oder einer Überwachung von synthetischen Bahnprüfungen benötigt:
  • Zugriff auf die Instana-Umgebung.  
  • Zugriff auf einen Host, auf dem der StatsD-Dienst des Instana-Agenten aktiviert werden kann. Wenn kein separater Host zur Verfügung steht, kann jeder genutzt werden, auf dem ein Instana-Agent läuft.  
  • Kommandozeilen-Zugang (SSH) zu dem Host, auf dem die Überwachung durchgeführt werden soll.  
  • Kommandozeilen-Know-how zur Abfrage der benötigten Informationen.  

Experten Tips für die Integration externen Metriken in Instana

  • Der Metrik-Name darf keine Leerzeichen, Umlaute oder Sonderzeichen enthalten. Verwenden Sie einen Unterstrich als Leerzeichenersatz.  
  • Definieren Sie Konventionen für StatsD-Metrik-Namen, um deren intuitive Lesbarkeit und Interpretation sicherzustellen.  
  • Achten Sie auf die Wahl des Metrik-Typs, da dieser die Visualisierung und Benachrichtigung beeinflussen kann (siehe Referenz "StatsD Metriktypen").  
  • Wenn Sie separate Instana-Agenten mit aktiviertem StatsD-Dienst verwenden, werden Ihre Metriken nach Host-Besitz gruppiert.  
  • Wollen Sie eine Metrik mehrfach für verschiedene Instanzen erfassen (z. B. Volumen mehrerer Dateien), sollten Sie den Metriknamen um die Instanz erweitern (zum Beispiel: file_size_myFile.txt).  

Umsetzung der Integration von StatsD Metriken in Instana

  • Installieren Sie den Instana-Agent und aktivieren Sie den StatsD-Service (siehe Referenz "StatsD Konfiguration in Instana").  
  • Erstellen Sie ein Skript, um Messungen zu sammeln und sie über StatsD an Instana zu senden. Als Vorlage bieten wir Ihnen ein Beispielskript am Ende dieses Blogartikels.  
  • Richten Sie einen Cron-Job ein, der Ihr Skript im gewünschten Zeitintervall ausführt (siehe Referenz "Cron-Job Konfiguration").  
  • Prüfen Sie über die Instana-Oberfläche, ob Ihre Messdaten übermittelt und korrekt angezeigt werden.  
  • Richten Sie in Instana die gewünschten Alarmregeln ein (optional).  
Nach erfolgreicher Integration können Sie Ihre Metriken am entsprechenden Host in Instana anzeigen lassen:
 
Darstellung der erfassten Metriken im Instana Host Dashboard
Abbildung: Visualisierung der StatsD Metriken am Host in Instana
 

Skript Vorlage

Sie können das folgende Skript-Beispiel als Gerüst verwenden. Hier haben wir einige typische Praxisbeispiele implementiert, die Sie leicht an Ihre Bedürfnisse anpassen können.
 
#!/bin/sh

# Define StatsD host and port
export STATSD_HOST="127.0.0.1"
export STATSD_PORT=8125

# ------------------------------------
# Function to send data to instana
# ------------------------------------
# Call function: sendStatsdMetric {myMetric} {myValue} {metricType}
sendStatsdMetric() {
echo "$1:$2|$3"
echo "$1:$2|$3" | nc -u -w0 $STATSD_HOST $STATSD_PORT
}

# =========
# File availability
# =========
# Define your metrik name, type and value
export METRIK="file_available"
export TYPE="g" # Type can be c (Count), ms (Timing), g (Gauges) and s (Sets)
export VALUE=$(ls -l test.log | wc -l | xargs)
# Send metrik to instana
sendStatsdMetric $METRIK $VALUE $TYPE

# ======
# File count
# ======
# Define your metrik name and type
export METRIK="file_count"
export TYPE="g"
export VALUE=$(ll /home/q001/*.* | wc -l | xargs)
# Send metrik to instana
sendStatsdMetric $METRIK $VALUE $TYPE

# =====
# File size
# =====
# Define your metrik name and type
export METRIK="file_size"
export TYPE="g"
export VALUE=$(du -b test.log | cut -dt -f1 | xargs)
# Increase file size for demo purpose
echo "$METRIK:$VALUE|$TYPE" >> test.log
# Send metrik to instana
sendStatsdMetric $METRIK $VALUE $TYPE

# ==========
# Download time
# ==========
# Define your metrik name and type
export METRIK="download_time"
export TYPE="g"
export VALUE=$(curl -so /dev/null -w "%{time_total}" www.versio.io)
# Send metrik to instana
sendStatsdMetric $METRIK $VALUE $TYPE
 

Referenzen

Webseite Instana
StatsD Metriktypen
StatsD Konfiguration in Instana
Cron-Job Konfiguration



Ihr Kommentar zum Blog-Beitrag

Nennen Sie uns bitte Ihren Namen und E-Mail-Adresse zur Verifikation. Die E-Mail Adresse wird nicht veröffentlicht!

Ich habe die Hinweise zum Datenschutz gelesen und akzeptiere diese.

Keywords

Instana

 

Monitoring

 

Application Performance Monitoring

 

APM

 

Problemerkennung

 

StatsD