Sammeln von Performance-Metriken in Elasticsearch und Visualisieren in Grafana

In diesem Beitrag werden wir versuchen zu sehen, wie man jede Leistungsmetrik eines Windows Server-Computers oder seiner Dienste wie SQL Server visualisieren kann, Umtausch… mit der Absicht, diese in Echtzeit in Grafana visualisieren zu können.

La idea será recopilarlos mediante uno de los agentes del Stack de Elastic, en este caso usaremos Metricbeat, y luego este se encargará de almacenarlos en Elasticsearch; y con Grafana accederemos a los datos y los visualizaremos cómo nos interese. Hace un tiempo escribí un post donde hablábamos de cómo implementar Metricbeat y cómo recopilar las réplicas del sistema, Wenn du willst échale un vistazo, hoy lo que toca son los contadores de rendimiento del perfmon o Monitor de recursos, o como le queramos llamar.

Instalando Metricbeat

La instalación de Metricbeat ya la conocemos, es muy sencilla, bastará con descargarnos el fichero ZIP de x64 de https://www.elastic.co/es/downloads/beats/metricbeat y descomprimirlo en ‘C:\Program Files\metricbeat’. Para crear el servicio de Metricbeat ejecutamos:

cd 'C:\Program Files\metricbeat\'
.\install-service-metricbeat.ps1

Editamos el fichero de configuración de Metricbeat, y al menos creamos la conexión contra nuestro servidor de Elasticsearch y el de Kibana:

...
# ---------------------------- Elasticsearch Output ----------------------------
Ausgabe.elasticsearch:
  # Array von Hosts, mit denen eine Verbindung hergestellt werden soll.
  Wirte: ["https://FQDN_ELASTIC:9200"]
  ssl.verification_mode: none Benutzername: "BENUTZER"
  Passwort: "PASSWORT"
  Index: "metricbeat-%{+yyyy. MM.dd}"
...
# =================================== Kibana ===================================
setup.kibana:
  Gastgeber: "https://FQDN_KIBANA:5601"
  ssl.verification_mode: nichts
...

Probamos la configuración:

.\metricbeat.exe test config -c .metricbeat.yml -e

Cargamos los dashboards de Kibana (si los dashboards ya los hemos importado alguna vez Podremos ignorar el primer comando) y arrancamos el servicio:

.\metricbeat.exe setup
Start-Service metricbeat

Si queremos quitar el servicio, vaya desinstalar filebeat alguna vez:

.\uninstall-service-metricbeat.ps1

Habilitando métricas de los servicios y contadores de rendimiento del Windows

Brunnen, pues tendremos que habilitar este módulo, Wir werden dies mit dem folgenden Befehl tun:

.\metricbeat.exe modules enable windows

Lo siguiente será saber qué contadores de rendimiento renemos, esto lo podemos mirar con este comando de PowerShell:

Get-Counter -ListSet *

Y ya será cuestión de indicarle a Metricbeat cuales queremos recopilar, editamos el fichero de configuración del módulo 'C:\Program Files\metricbeat\modules.d\windows.yml’ y se lo indicamos, Beispiel:

# Module: windows
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.x/metricbeat-module-windows.html

- Modul: windows
 metricsets:
    - service
 period: 1m

- Modul: windows
 metricsets: [perfmon]
  Periode: 10s
 perfmon.ignore_non_existent_counters: true
 perfmon.group_measurements_by_instance: true
 perfmon.queries:
  - object: "PhysicalDisk"
    field : "Scheibe"
    Beispiel: "*"
    counters:
    - Name: "Disk Writes/sec"
    - Name: "% Disk Write Time"
      field: "write_time"
      Format: "schweben"
  - object: "PhysicalDisk"
    field : "Scheibe"
    Beispiel: "*"
    counters:
    - Name: "Disk Reads/sec"
    - Name: "% Festplattenlesezeit"
      field: "lese_zeit"
      Format: "schweben"

  - object: "MSSQL$VEEAMSQL2012:Datenbanken"
    field : "Datenbank"
    Beispiel: "*"
    counters:
    - Name: "Daten Datei(s) Größe (KB)"
...

Wir speichern die Datei, Wir haben den Dienst von Metricbeat neu gestartet und werden nun überprüfen, welche Daten wir in Elasticsearch haben. Wie gewöhnlich, Wir gehen zu Kibana und sobald die Daten eintreffen, können wir zu "Management" gehen. > "Stack-Verwaltung" > "Kibana" > "Index-Muster" > "Indexmuster erstellen", um das Indexmuster zu erstellen, Wie ich schon sagte, wie gewöhnlich (In diesem Fall und ohne die Anführungszeichen) ‘metricbeat-*’ und wir werden die Daten jetzt korrekt in Elasticsearch gespeichert haben. Jetzt könnten wir uns von 'Analytics' > 'Discover' mit unserem Metricbeat-Index verbinden und sehen, dass Daten gesammelt werden.

Sobald die Daten in Elasticsearch sind, müssen wir die Schritte befolgen, die wir in anderen Beiträgen bereits mehrfach gesehen haben, nämlich, (Ich) einen Connector oder Data Source von Grafana zu Elasticsearch erstellen und (Ii) anfangen, das Dashboard oder die Dashboards, die du benötigst, zu erstellen. Dies ist nur ein Beispiel der von einem SQL Server gesammelten Daten., wo wir einige ziemlich interessante und gängige Zähler sehen, sowie die Größen und Wachstumsraten der Datenbanken, Verbindungen, Latenzen…

Stellt euch die Möglichkeiten davon vor, jeder Dienst, der auf Windows installiert ist, hat seine eigenen Zähler, die wir mit der gewünschten Periodizität sammeln können, auf 1s Ebene, 10s, 30s… und auch deren Visualisierung, mit Echtzeitaktualisierung oder um Berichte mit Analyse nach der Verarbeitung von vielen Daten zu erstellen und Wachstumsanalysen durchführen zu können…

Nichts, ich beende damit, eine schnelle Möglichkeit, die Zähler eines SQL Servers zu sehen:

ANZAHL AUSWÄHLEN(*) FROM sys.dm_os_performance_counters;

Und das ist es, ich hoffe, das hilft euch, Möglichkeiten in euren Umgebungen zu sehen, wir können jede benötigte Daten sammeln, Hören Sie später damit auf, verarbeiten, maßgeschneiderte Dashboards für verschiedene Profile erstellen, wöchentliche Berichte… Okay, ich schweife aus, un abrazo a tod@s!

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!