Blog

Überwachung von OpenStack Pt.2

Bild von Kamen Tarlov
Kamen Tarlov
CEO & DevOps-Leiter
21.07.2017
Lesezeit: 4 Minuten.
Zuletzt aktualisiert am: 08.01.2024

Inhaltsübersicht

In meinem letzten Blogbeitraghabe ich darüber gesprochen, wie man RabbitMQ als zentralisiertes Message Q von OpenStack überwachen kann. Nun, das ist ziemlich wichtig, aber das Endziel einer Cloud ist die Instanz auf der Maschine. Die meisten von euch und vor allem die Infrastrukturtypen, die sich mit der Überwachung beschäftigen, werden wissen, was die wichtigsten Komponenten sind, auf die man achten muss.

Der Grund für die Überwachung ist eine vernünftige Planung, die in einer Cloud-Umgebung, in der Sie eine große Anzahl von virtuellen Maschinen oder Containern erstellen müssen, wahrscheinlich die Regel ist. Auf der anderen Seite ist es sehr einfach, die Daten auf einen Blick zu haben, um die Zuverlässigkeit zu erhöhen, die Betriebszeit zu planen, die Architektur zu verbessern und die Engpässe Ihres Setups zu identifizieren.21JULMeineWahl in Bezug auf Cloud-Monitoring und DevOps ist, wie ich im vorherigen Beitrag erwähnt habe, Icinga2. Ich werde versuchen, im Detail zu erklären, warum und wie es mich beeindruckt hat, aber lassen Sie uns auf die Überwachung von virtuellen Maschinen und KVM-Instanzen konzentrieren. Zuallererst werde ich damit beginnen, was das Wichtigste ist, das überwacht werden muss und die Hauptmerkmale definieren. Eine gute Vorbereitung bringt die besten Ergebnisse!

HOST-ÜBERWACHUNG

Es gibt in der Tat zwei Perspektiven, die wir betrachten können. Die erste und wahrscheinlich sehr wichtige und interessante Perspektive ist die des Host-Betriebssystems. Aus diesem Blickwinkel sehen wir den KVM-Rechner als einen einzelnen Prozess, der auf ihm läuft. Etwa so:

qemu     32381     1  9 Jul14 ?        14:41:20 /usr/libexec/qemu-kvm -name instance-000000c9 -S -machine pc-i440fx-rhel7.0.0

Dieser qemu-Prozess stellt die virtuelle Maschine dar und alle Parameter definieren sie. Das ist doch hilfreich, oder? Wir müssen
einen Prozess überwachen und von hier aus können wir unsere Statistiken zur Überwachung erstellen:

- VSZ - Größe des virtuellen Speichers eines Prozesses
- Größe des residenten Speichers des Prozesses
- Prozentsatz der CPU
- Prozessexistenz (Instanzname wäre der beste Filter dafür)

Das Nagios-Plugin, das diese Aufgabe erleichtert, ist check_procs.
Bei letzterem ist es nicht so einfach zu ermitteln, welche Maschine welcher Instanz-ID entspricht. Normalerweise können Sie dies in
libvirt.conf innerhalb der nova-Instanzen abgleichen und den Namen Ihrer Instanz erhalten.
Ein weiteres nützliches Tool zur Überprüfung des Maschinenstatus ist virsh. Sie können den Status des Rechners abfragen und nach abgestürzten Rechnern suchen:

 Id Name Staat
----------------------------------------------------
 39 instance-000000c8 läuft
 40 instance-000000c9 läuft
 41 instance-000000bb läuft

Normalerweise sind die Zustände von KVM-Rechnern wie folgt:

running - Zustand, in dem die Instanz läuft und betriebsbereit ist
paused - in der Openstack-Terminologie: angehalten
inaktiv - angehalten oder abgeschaltet
abgestürzt - beim Starten ist ein Fehler aufgetreten

Am besten ist es, nach "crashed" zu suchen und dann nach dem Grund für den Absturz zu suchen.
virsh list | grep crashed
Eine weitere Abkürzung ist die Verwendung des check_libvirt nagios-Plugins, das eine Menge leistet.
Der andere Aspekt der Überwachung ist natürlich die Betrachtung des Gastes. Es gibt einige Parameter, die
mit der vorherigen Überwachung korreliert sein könnten, aber es gibt immer noch wesentliche Unterschiede:

- Speichernutzung des Servers
- CPU-Auslastung und Wartezeiten
- Festplatten-E/A
- Festplattennutzung

SPEICHER

Beginnen wir mit einem nach dem anderen. Der erste, recht wichtige und nicht so leicht zu verfolgende Punkt ist die Speichernutzung.

              insgesamt verwendet freier gemeinsamer Buff/Cache verfügbar
Speicher: 74053676 19262360 377524 3720412 54413792 50583164
Swap: 978940 107552 871388

Die meisten Infrastrukturtypen oder die besseren kennen den Befehl "free". Nun, das bedeutet, dass der freie Speicher im Vergleich zu den anderen sehr klein ist. Der Grund dafür ist die Art und Weise, wie Linux mit Speicher umgeht, um viele Disk I/O Operationen zu sparen. Also berechnen wir freien und zwischengespeicherten Speicher als eine gemeinsame Metrik. Ein nettes Plugin dafür gibt es hier.

Es funktioniert wirklich gut und liefert Leistungsdaten für schöne Diagramme.
Beispiel:

check_mem.pl -f -C -w 20 -c 10

PROZESSORLAST UND -AUSLASTUNG

Eine weitere sehr gute Metrik für Ihr Dashboard und die Alarmierung ist die CPU-Last. Die Last kann aus vielen Gründen hoch sein, wie z.B. Iowait, Prozess erschöpft die CPU usw...
Sie können die check_load Funktion verwenden, die standardmäßig mit Nagios Plugins geliefert wird.
Wenn Sie die Wartezeiten anhand der CPU-Statistiken überwachen möchten, können Sie das Modul in Nagios Exchange verwenden, um die CPU-Statistiken zu überprüfen. Stellen Sie sicher, dass sysstat oder iostat auf dem Zielsystem installiert ist.

Server. Hier ist ein Beispiel für eine Metrik:

check_cpu_stats.sh -w 20 -c 30

DISK I/O


Hier können Sie die Metrik verwenden, um Probleme bei der zugrunde liegenden Speicherung zu finden. Zusammen mit den Leistungsdaten erhalten Sie noch mehr Statistiken darüber, wie die Daten sich verhalten.

check_io -d sda -w 40,400,400 -c 100,700,700

DISK-NUTZUNG


Zu guter Letzt können Sie mit check_disk die Nutzung aller Festplatten überprüfen.


Nun, hier kommt das Ende der Überwachung. Wenn Sie Hilfe in Bezug auf die Überwachung suchen, können Sie uns gerne kontaktieren!

Eine Antwort hinterlassen

Newsletter für Tech-Experten

Signal, kein Rauschen –

direkt in Ihren Posteingang.

Schließen Sie sich mehr als 12.000 Ingenieuren und Führungskräften aus der Wirtschaft an, die Praxisberichte zu SRE, DevOps und Cloud-nativer Zuverlässigkeit erhalten.

Tech-Blogs mit tiefgehenden Einblicken und Fallstudien
Neue Technologien, sorgfältig ausgewählt

Ihre geschäftliche E-Mail-Adresse

Wir gehen respektvoll mit Ihrem Posteingang um. Lesen Sie unsere Datenschutzerklärung.

Mehr Beiträge

Da die Verbreitung von IPv6 weiter zunimmt, benötigen Unternehmen, die Workloads auf AWS ausführen, zunehmend Netzwerkarchitekturen, die sowohl IPv4- als auch IPv6-Datenverkehr unterstützen. AWS bietet zwar native IPv6-Funktionen, doch die Integration...
Lesen
In AWS ist ein Client-VPN-Endpunkt ein verwalteter, serverloser Cloud-VPN-Dienst, der es Benutzern ermöglicht, sicher auf Ressourcen innerhalb einer AWS VPC (Virtual Private Cloud) zuzugreifen. Beim Erstellen dieses...
Lesen
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern und Ingenieuren an, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.