Analysieren verwalteter Redis-Datenbankstatistiken mit dem Elastic Stack unter Ubuntu 18.04

Der Autor hat dieFree and Open Source Fundausgewählt, um eine Spende im Rahmen desWrite for DOnations-Programms zu erhalten.

Einführung

Die Datenbanküberwachung ist der kontinuierliche Prozess der systematischen Verfolgung verschiedener Metriken, die die Leistung der Datenbank anzeigen. Durch die Beobachtung von Leistungsdaten können Sie wertvolle Erkenntnisse gewinnen, mögliche Engpässe identifizieren und zusätzliche Möglichkeiten zur Verbesserung der Datenbankleistung finden. Solche Systeme implementieren häufig Warnungen, die Administratoren benachrichtigen, wenn Probleme auftreten. Gesammelte Statistiken können nicht nur zur Verbesserung der Konfiguration und des Workflows der Datenbank, sondern auch der Clientanwendungen verwendet werden.

Der Vorteil der Verwendung desElastic Stack (ELK-Stacks) zur Überwachung Ihrer verwalteten Datenbank liegt in der hervorragenden Unterstützung der Suche und der Möglichkeit, neue Daten sehr schnell aufzunehmen. Es zeichnet sich nicht durch die Aktualisierung der Daten aus, aber dieser Kompromiss ist für Überwachungs- und Protokollierungszwecke akzeptabel, bei denen frühere Daten so gut wie nie geändert werden. Elasticsearch bietet eine leistungsstarke Möglichkeit zum Abfragen der Daten, die Sie überKibana verwenden können, um besser zu verstehen, wie die Datenbank in verschiedenen Zeiträumen funktioniert. Auf diese Weise können Sie die Datenbanklast mit realen Ereignissen korrelieren, um einen Einblick in die Verwendung der Datenbank zu erhalten.

In diesem Lernprogramm importieren Sie Datenbankmetriken, die mit dem Befehl RedisINFOgeneriert wurden, überLogstash in Elasticsearch. Dazu muss Logstash so konfiguriert werden, dass der Befehl regelmäßig ausgeführt, seine Ausgabe analysiert und unmittelbar danach zur Indizierung an Elasticsearch gesendet wird. Die importierten Daten können später in Kibana analysiert und visualisiert werden. Am Ende des Tutorials haben Sie ein automatisiertes System, das Redis-Statistiken für eine spätere Analyse abruft.

Voraussetzungen

[[Schritt-1 - Installieren und Konfigurieren von Logstash]] == Schritt 1 - Installieren und Konfigurieren von Logstash

In diesem Abschnitt installieren Sie Logstash und konfigurieren es so, dass Statistiken aus Ihrem Redis-Datenbankcluster abgerufen und dann analysiert werden, um sie zur Indizierung an Elasticsearch zu senden.

Beginnen Sie mit der Installation von Logstash mit dem folgenden Befehl:

sudo apt install logstash -y

Aktivieren Sie den Dienst nach der Installation von Logstash für den automatischen Start beim Systemstart:

sudo systemctl enable logstash

Bevor Sie Logstash zum Abrufen der Statistiken konfigurieren, sehen wir uns an, wie die Daten selbst aussehen. Um eine Verbindung zu Ihrer Redis-Datenbank herzustellen, rufen Sie die Systemsteuerung für verwaltete Datenbanken auf und wählen Sie im BereichConnection detailsFlags aus der Dropdown-Liste aus:

Managed Database Control Panel

Ihnen wird ein vorkonfigurierter Befehl für den Client vonRedliangezeigt, mit dem Sie eine Verbindung zu Ihrer Datenbank herstellen. Klicken Sie aufCopy und führen Sie den folgenden Befehl auf Ihrem Server aus. Ersetzen Sieredli_flags_command durch den gerade kopierten Befehl:

redli_flags_command info

Da die Ausgabe dieses Befehls lang ist, erklären wir dies in seinen verschiedenen Abschnitten:

In der Ausgabe des Befehls Redisinfo werden Abschnitte mit# markiert, was einen Kommentar bedeutet. Die Werte werden in Form vonkey:value angegeben, wodurch sie relativ einfach zu analysieren sind.

Output# Server
redis_version:5.0.4
redis_git_sha1:ab60b2b1
redis_git_dirty:1
redis_build_id:7909f4de3561dc50
redis_mode:standalone
os:Linux 5.2.14-200.fc30.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:9.1.1
process_id:72
run_id:ddb7b96c93bbd0c369c6d06ce1c02c78902e13cc
tcp_port:25060
uptime_in_seconds:1733
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:8687593
executable:/usr/bin/redis-server
config_file:/etc/redis.conf

# Clients
connected_clients:3
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0

. . .

Der AbschnittServer enthält technische Informationen zum Redis-Build, z. B. seine Version und das Git-Commit, auf dem er basiert. Während der AbschnittClients die Anzahl der aktuell geöffneten Verbindungen angibt.

Output. . .
# Memory
used_memory:941560
used_memory_human:919.49K
used_memory_rss:4931584
used_memory_rss_human:4.70M
used_memory_peak:941560
used_memory_peak_human:919.49K
used_memory_peak_perc:100.00%
used_memory_overhead:912190
used_memory_startup:795880
used_memory_dataset:29370
used_memory_dataset_perc:20.16%
allocator_allocated:949568
allocator_active:1269760
allocator_resident:3592192
total_system_memory:1030356992
total_system_memory_human:982.62M
used_memory_lua:37888
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:463470592
maxmemory_human:442.00M
maxmemory_policy:allkeys-lru
allocator_frag_ratio:1.34
allocator_frag_bytes:320192
allocator_rss_ratio:2.83
allocator_rss_bytes:2322432
rss_overhead_ratio:1.37
rss_overhead_bytes:1339392
mem_fragmentation_ratio:5.89
mem_fragmentation_bytes:4093872
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:116310
mem_aof_buffer:0
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0
. . .

Hier bestätigtMemory, wie viel RAM Redis für sich selbst zugewiesen hat und wie viel Speicher möglicherweise maximal verwendet werden kann. Wenn der Speicher knapp wird, werden die Schlüssel mit der in der Systemsteuerung angegebenen Strategie freigegeben (in dieser Ausgabe im Feldmaxmemory_policy angezeigt).

Output. . .
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1568966978
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:217088
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0

# Stats
total_connections_received:213
total_commands_processed:2340
instantaneous_ops_per_sec:1
total_net_input_bytes:39205
total_net_output_bytes:776988
instantaneous_input_kbps:0.02
instantaneous_output_kbps:2.01
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:353
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0
. . .

Im AbschnittPersistence können Sie sehen, wann Redis das letzte Mal die gespeicherten Schlüssel auf der Festplatte gespeichert hat und ob dies erfolgreich war. Der AbschnittStats enthält Nummern zu Client- und In-Cluster-Verbindungen, die Häufigkeit, mit der der angeforderte Schlüssel gefunden wurde (oder nicht gefunden wurde) usw.

Output. . .
# Replication
role:master
connected_slaves:0
master_replid:9c1d345a46d29d08537981c4fc44e312a21a160b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:46137344
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
. . .

[.note] #Note: Das Redis-Projekt verwendet die Begriffe "Master" und "Slave" in seiner Dokumentation und in verschiedenen Befehlen. DigitalOcean bevorzugt im Allgemeinen die alternativen Begriffe "primär" und "Replikat".
In diesem Handbuch werden nach Möglichkeit standardmäßig die Begriffe "primär" und "Replikat" verwendet. Beachten Sie jedoch, dass die Begriffe "Master" in einigen Fällen vorkommen. und "Sklave" tauchen unvermeidlich auf.
#

Wenn Sie sich dierole unterReplication ansehen, wissen Sie, ob Sie mit einem Primär- oder Replikatknoten verbunden sind. Der Rest des Abschnitts enthält die Anzahl der aktuell verbundenen Replikate und die Datenmenge, die dem Replikat in Bezug auf das primäre Replikat fehlt. Es können zusätzliche Felder vorhanden sein, wenn die Instanz, mit der Sie verbunden sind, eine Replik ist.

Output. . .
# CPU
used_cpu_sys:1.972003
used_cpu_user:1.765318
used_cpu_sys_children:0.000000
used_cpu_user_children:0.001707

# Cluster
cluster_enabled:0

# Keyspace

UnterCPU sehen Sie die Menge an System (used_cpu_sys) und Benutzer (used_cpu_user), die Redis derzeit verbraucht. Der AbschnittCluster enthält nur ein eindeutiges Feld,cluster_enabled, das angibt, dass der Redis-Cluster ausgeführt wird.

Logstash wird beauftragt, den Befehlinfo regelmäßig in Ihrer Redis-Datenbank auszuführen (ähnlich wie Sie es gerade getan haben), die Ergebnisse zu analysieren und an Elasticsearch zu senden. Sie können später von Kibana aus darauf zugreifen.

Sie speichern die Konfiguration für die Indizierung von Redis-Statistiken in Elasticsearch in einer Datei mit dem Namenredis.conf im Verzeichnis/etc/logstash/conf.d, in dem Logstash Konfigurationsdateien speichert. Wenn es als Dienst gestartet wird, werden sie automatisch im Hintergrund ausgeführt.

Erstellen Sieredis.conf mit Ihrem bevorzugten Editor (z. B. Nano):

sudo nano /etc/logstash/conf.d/redis.conf

Fügen Sie die folgenden Zeilen hinzu:

/etc/logstash/conf.d/redis.conf

input {
    exec {
        command => "redis_flags_command info"
        interval => 10
        type => "redis_info"
    }
}

filter {
    kv {
        value_split => ":"
        field_split => "\r\n"
        remove_field => [ "command", "message" ]
    }

    ruby {
        code =>
        "
        event.to_hash.keys.each { |k|
            if event.get(k).to_i.to_s == event.get(k) # is integer?
                event.set(k, event.get(k).to_i) # convert to integer
            end
            if event.get(k).to_f.to_s == event.get(k) # is float?
                event.set(k, event.get(k).to_f) # convert to float
            end
        }
        puts 'Ruby filter finished'
        "
    }
}

output {
    elasticsearch {
        hosts => "http://localhost:9200"
        index => "%{type}"
    }
}

Denken Sie daran,redis_flags_command durch den in der Systemsteuerung angezeigten Befehl zu ersetzen, den Sie zuvor in diesem Schritt verwendet haben.

Sie definieren eininput, eine Reihe von Filtern, die für die gesammelten Daten ausgeführt werden, und eine Ausgabe, die die gefilterten Daten an Elasticsearch sendet. Die Eingabe besteht aus dem Befehlexec, der nach einer festgelegten Zeitinterval (ausgedrückt in Sekunden) regelmäßigcommand auf dem Server ausführt. Außerdem wird eintype-Parameter angegeben, der den Dokumenttyp definiert, wenn er in Elasticsearch indiziert wird. Der Blockexec übergibt ein Objekt, das zwei Felder enthält,command undmessage Zeichenfolge. Das Feldcommand enthält den ausgeführten Befehl, und das Feldmessage enthält die Ausgabe.

Es gibt zwei Filter, die nacheinander für die von der Eingabe erfassten Daten ausgeführt werden. Der Filterkv steht für Schlüsselwertfilter und ist in Logstash integriert. Es wird zum Parsen von Daten in der allgemeinen Form vonkeyvalue_separatorvalue verwendet und enthält Parameter zum Angeben von Wert- und Feldtrennzeichen. Das Feldtrennzeichen bezieht sich auf Zeichenfolgen, die die in der allgemeinen Form formatierten Daten voneinander trennen. Bei der Ausgabe des Befehls Redis INFO ist das Feldtrennzeichen (field_split) eine neue Zeile und das Werttrennzeichen (value_split):. Zeilen, die nicht der definierten Form entsprechen, werden einschließlich Kommentaren verworfen.

Um den Filterkv zu konfigurieren, übergeben Sie: an den Parameter`value_split` und (bedeutet eine neue Zeile) an den Parameterfield_split. Sie können auch die Feldercommand undmessage aus dem aktuellen Datenobjekt entfernen, indem Sie sie als Elemente eines Arrays anremove_field übergeben, da sie Daten enthalten, die jetzt unbrauchbar sind.

Der Filterkv repräsentiert den Wert, den er als Zeichenfolgentyp (Texttyp) analysiert hat. Dies wirft ein Problem auf, da Kibana Zeichenfolgentypen nicht einfach verarbeiten kann, selbst wenn es sich tatsächlich um eine Zahl handelt. Um dies zu beheben, verwenden Sie nach Möglichkeit benutzerdefinierten Ruby-Code, um die Zeichenfolgen nur mit Zahlen in Zahlen umzuwandeln. Der zweite Filter ist einruby-Block, der einencode-Parameter bereitstellt, der eine Zeichenfolge akzeptiert, die den auszuführenden Code enthält.

event ist eine Variable, die Logstash für Ihren Code bereitstellt und die aktuellen Daten in der Filterpipeline enthält. Wie bereits erwähnt, werden Filter nacheinander ausgeführt, was bedeutet, dass der Ruby-Filter die analysierten Daten vomkv-Filter empfängt. Der Ruby-Code selbst konvertiert dieevent in einen Hash und durchläuft die Schlüssel. Anschließend wird geprüft, ob der dem Schlüssel zugeordnete Wert als Ganzzahl oder als Gleitkomma (eine Zahl mit Dezimalstellen) dargestellt werden kann. Wenn dies möglich ist, wird der Zeichenfolgenwert durch die analysierte Zahl ersetzt. Wenn die Schleife beendet ist, wird eine Nachricht (Ruby filter finished) ausgedruckt, um den Fortschritt zu melden.

Die Ausgabe sendet die verarbeiteten Daten zur Indizierung an Elasticsearch. Das resultierende Dokument wird im Indexredis_infogespeichert, in der Eingabe definiert und als Parameter an den Ausgabeblock übergeben.

Speichern und schließen Sie die Datei.

Sie haben Logstash mitapt installiert und so konfiguriert, dass regelmäßig Statistiken von Redis angefordert, verarbeitet und an Ihre Elasticsearch-Instanz gesendet werden.

[[Schritt-2 - Testen der Logstash-Konfiguration]] == Schritt 2 - Testen der Logstash-Konfiguration

Jetzt testen Sie die Konfiguration, indem Sie Logstash ausführen, um sicherzustellen, dass die Daten ordnungsgemäß abgerufen werden.

Logstash unterstützt das Ausführen einer bestimmten Konfiguration, indem der Dateipfad an den Parameter-fübergeben wird. Führen Sie den folgenden Befehl aus, um Ihre neue Konfiguration vom letzten Schritt an zu testen:

sudo /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf

Es kann einige Zeit dauern, bis die Ausgabe angezeigt wird. In Kürze wird jedoch Folgendes angezeigt:

OutputWARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
[WARN ] 2019-09-20 11:59:53.440 [LogStash::Runner] multilocal - Ignoring the 'pipelines.yml' file because modules or command line options are specified
[INFO ] 2019-09-20 11:59:53.459 [LogStash::Runner] runner - Starting Logstash {"logstash.version"=>"6.8.3"}
[INFO ] 2019-09-20 12:00:02.543 [Converge PipelineAction::Create
] pipeline - Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50} [INFO ] 2019-09-20 12:00:03.331 [[main]-pipeline-manager] elasticsearch - Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://localhost:9200/]}} [WARN ] 2019-09-20 12:00:03.727 [[main]-pipeline-manager] elasticsearch - Restored connection to ES instance {:url=>"http://localhost:9200/"} [INFO ] 2019-09-20 12:00:04.015 [[main]-pipeline-manager] elasticsearch - ES Output version determined {:es_version=>6} [WARN ] 2019-09-20 12:00:04.020 [[main]-pipeline-manager] elasticsearch - Detected a 6.x and above cluster: the `type` event field won't be used to determine the document _type {:es_version=>6} [INFO ] 2019-09-20 12:00:04.071 [[main]-pipeline-manager] elasticsearch - New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>["http://localhost:9200"]} [INFO ] 2019-09-20 12:00:04.100 [Ruby-0-Thread-5: :1] elasticsearch - Using default mapping template [INFO ] 2019-09-20 12:00:04.146 [Ruby-0-Thread-5: :1] elasticsearch - Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}} [INFO ] 2019-09-20 12:00:04.295 [[main]-pipeline-manager] exec - Registering Exec Input {:type=>"redis_info", :command=>"...", :interval=>10, :schedule=>nil} [INFO ] 2019-09-20 12:00:04.315 [Converge PipelineAction::Create
] pipeline - Pipeline started successfully {:pipeline_id=>"main", :thread=>"#"} [INFO ] 2019-09-20 12:00:04.483 [Ruby-0-Thread-1: /usr/share/logstash/lib/bootstrap/environment.rb:6] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]} [INFO ] 2019-09-20 12:00:05.318 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600} Ruby filter finished Ruby filter finished Ruby filter finished ...

Sie werden sehen, dass dieRuby filter finished-Nachricht in regelmäßigen Abständen gedruckt wird (im vorherigen Schritt auf 10 Sekunden festgelegt). Dies bedeutet, dass die Statistiken an Elasticsearch gesendet werden.

Sie können Logstash beenden, indem Sie auf Ihrer Tastatur aufCTRL + C klicken. Wie bereits erwähnt, führt Logstash beim Start als Dienst automatisch alle Konfigurationsdateien aus, die unter/etc/logstash/conf.d im Hintergrund gefunden wurden. Führen Sie den folgenden Befehl aus, um es zu starten:

sudo systemctl start logstash

Sie führen Logstash aus, um zu überprüfen, ob es eine Verbindung zu Ihrem Redis-Cluster herstellen und Daten erfassen kann. Als Nächstes untersuchen Sie einige der statistischen Daten in Kibana.

[[Schritt 3 - Erkundung importierter Daten in Kibana]] == Schritt 3 - Erkundung importierter Daten in Kibana

In diesem Abschnitt untersuchen und visualisieren Sie die statistischen Daten, die die Leistung Ihrer Datenbank in Kibana beschreiben.

Navigieren Sie in Ihrem Webbrowser zu Ihrer Domain, in der Sie Kibana als Teil der Voraussetzung verfügbar gemacht haben. Die Standard-Begrüßungsseite wird angezeigt:

Kibana - Welcome Page

Bevor Sie die Daten untersuchen, die Logstash an Elasticsearch sendet, müssen Sie zuerst denredis_info-Index zu Kibana hinzufügen. Klicken Sie dazu in der linken vertikalen Seitenleiste aufManagement und dann im AbschnittKibana aufIndex Patterns.

Kibana - Index Pattern Creation

Sie sehen ein Formular zum Erstellen eines neuenIndex Pattern. Mit Indexmustern in Kibana können Daten aus mehreren Elasticsearch-Indizes gleichzeitig abgerufen und nur ein Index durchsucht werden.

Unter dem TextfeldIndex patternwird der Indexredis_infoaufgelistet. Geben Sie es in das Textfeld ein und klicken Sie dann auf die SchaltflächeNext step.

Anschließend werden Sie aufgefordert, ein Zeitstempelfeld auszuwählen, damit Sie Ihre Suche später nach einem bestimmten Zeitraum eingrenzen können. Logstash fügt automatisch eine hinzu, die als@timestamp bezeichnet wird. Wählen Sie es aus der Dropdown-Liste aus und klicken Sie aufCreate index pattern, um das Hinzufügen des Index zu Kibana abzuschließen.

Kibana - Index Pattern Timestamp Selection

Um vorhandene Visualisierungen zu erstellen und anzuzeigen, klicken Sie im linken vertikalen Menü auf das ElementVisualize. Sie sehen die folgende Seite:

Kibana - Visualizations

Um eine neue Visualisierung zu erstellen, klicken Sie auf die SchaltflächeCreate a visualization und wählen Sie dannLine aus der Liste der Typen aus, die angezeigt werden sollen. Wählen Sie dann das Indexmusterredis_info*aus, das Sie gerade als Datenquelle erstellt haben. Sie sehen eine leere Visualisierung:

Kibana - Empty Visualization

Das linke Bedienfeld enthält ein Formular zum Bearbeiten von Parametern, mit denen Kibana die Visualisierung zeichnet, die im mittleren Teil des Bildschirms angezeigt wird. Oben rechts auf dem Bildschirm befindet sich die Datumsauswahl. Wenn das Feld@timestamp in der Visualisierung verwendet wird, zeigt Kibana nur die Daten an, die zu dem in der Bereichsauswahl angegebenen Zeitintervall gehören.

Sie sehen jetzt die durchschnittliche Speicherauslastung von Redis während eines bestimmten Zeitintervalls. Klicken Sie im linken Bereich unterMetrics aufY-Axis, um es zu entfalten. Wählen Sie dannAverage alsAggregation undused_memory alsField. s. Dies füllt die Y-Achse des Diagramms mit den Durchschnittswerten.

Klicken Sie anschließend unterBuckets aufX-Axis. Wählen Sie fürAggregationDate Histogram. @timestamp sollte automatisch alsField ausgewählt werden. Zeigen Sie dann die Visualisierung an, indem Sie auf die blaue Wiedergabetaste oben im Bedienfeld klicken. Wenn Ihre Datenbank brandneu und nicht verwendet ist, wird keine sehr lange Warteschlange angezeigt. In allen Fällen wird jedoch eine genaue Darstellung der durchschnittlichen Speichernutzung angezeigt. So kann die resultierende Visualisierung nach kurzer oder gar keiner Verwendung aussehen:

Kibana - Redis Memory Usage Visualization

In diesem Schritt haben Sie die Speichernutzung Ihrer verwalteten Redis-Datenbank mithilfe von Kibana visualisiert. Sie können auch andere von Kibana angebotene Diagrammtypen verwenden, z. B. den Visual Builder, um kompliziertere Diagramme zu erstellen, die mehrere Felder gleichzeitig darstellen. Auf diese Weise erhalten Sie ein besseres Verständnis für die Verwendung Ihrer Datenbank, wodurch Sie Clientanwendungen und die Datenbank selbst optimieren können.

Fazit

Sie haben jetzt den Elastic-Stack auf Ihrem Server installiert und so konfiguriert, dass regelmäßig Statistikdaten aus Ihrer verwalteten Redis-Datenbank abgerufen werden. Sie können die Daten mit Kibana oder einer anderen geeigneten Software analysieren und visualisieren, um wertvolle Erkenntnisse und reale Zusammenhänge über die Leistung Ihrer Datenbank zu gewinnen.

Weitere Informationen darüber, was Sie mit Ihrer von Redis verwalteten Datenbank tun können, finden Sie unterproduct docs. Wenn Sie die Datenbankstatistik mit einem anderen Visualisierungstyp darstellen möchten, lesen Sie dieKibana docs, um weitere Anweisungen zu erhalten.