Redis

Redis ist ein erweiterter Open-Source-Schlüssel-Werte-Speicher. Er wird oft als Datenstrukturserver bezeichnet, da die Werte Strings, Hash-Zeichen, Listen, Datensätze und sortierte Datensätze enthalten können. Weitere Informationen erhalten Sie unter redis.io.

Vorbereitung

Zum Erfassen und Aufnehmen von Redis-Telemetrie müssen Sie Ops Agent Version 2.7.0 oder höher installieren.

Ops Agent für Redis konfigurieren

Fügen Sie die erforderlichen Elemente zum Erfassen von Logs aus den Redis-Instanzen gemäß der Anleitung unter Ops Agent konfigurieren hinzu und starten Sie den Agent neu.

Konfigurationsbeispiel

Der folgende Befehl erstellt die Konfigurationsdatei, um Logs für Redis zu erfassen und aufzunehmen und den Ops-Agent unter Linux neu zu starten.

sudo tee /etc/google-cloud-ops-agent/config.yaml > /dev/null << EOF
logging:
  receivers:
    redis:
      type: redis
  service:
    pipelines:
      redis:
        receivers:
        - redis
metrics:
  receivers:
    redis:
      type: redis
      address: localhost:6379
      collection_interval: 60s
      password: Strong_Password123
  service:
    pipelines:
      redis:
        receivers:
        - redis
EOF
sudo service google-cloud-ops-agent restart

Logerfassung konfigurieren

Um Logs von Redis aufzunehmen, müssen Sie Empfänger für die von Redis erzeugten Logs erstellen und dann eine Pipeline für die neuen Empfänger erstellen. Geben Sie die folgenden Felder an, um einen Empfänger für Ihre redis-Logs zu konfigurieren:

Feld Standard Beschreibung
type Dieser Wert muss redis sein.
include_paths [/var/log/redis/redis-server.log, /var/log/redis_6379.log, /var/log/redis/redis.log, /var/log/redis/default.log, /var/log/redis/redis_6379.log] Eine Liste mit Dateisystempfaden, die durch Tailing jeder Datei gelesen werden sollen. In den Pfaden kann ein Platzhalter (*) verwendet werden. Beispiel: /var/log/redis/*.log.
exclude_paths [] Eine Liste von Dateisystempfadmustern, die aus dem mit include_paths übereinstimmenden Satz ausgeschlossen werden sollen.
wildcard_refresh_interval 60s Das Intervall, in dem Platzhalterdateipfade in include_paths aktualisiert werden. Wird als Zeitdauer angegeben, z. B. 30s, 2m. Dieses Attribut kann bei hohen Logging-Durchsätzen nützlich sein, wenn Logdateien schneller als das Standardintervall rotiert werden.

Was wird protokolliert?

Redis-Logs können die folgenden Felder im LogEntry enthalten:

Feld Typ Beschreibung
jsonPayload.roleChar String Redis-Rollenzeichen (X, C, S, M)
jsonPayload.role String Übersetzt vom Redis-Rollenzeichen (sentinel, RDB/AOF_writing_child, slave, master)
jsonPayload.level String Logeintragsebene
jsonPayload.pid Zahl Prozess-ID
jsonPayload.message String Log-Nachricht
severity String (LogSeverity) Ebene des Logeintrags (übersetzt)
timestamp String (Timestamp) Zeitpunkt, zu dem der Eintrag protokolliert wurde

Messwerterfassung konfigurieren

Um Messwerte aus Redis zu erfassen, müssen Sie einen Empfänger für Redis-Messwerte erstellen und dann eine Pipeline für den neuen Empfänger erstellen. Um einen Empfänger für Ihre Redis-Messwerte zu konfigurieren, geben Sie die folgenden Felder an:

Feld Standard Beschreibung
type Dieser Wert muss redis sein.
address localhost:6379 Die von Redis bereitgestellte URL.
collection_interval 60s Ein Wert für time.Duration, wie z. B. 30s oder 5m.
password Das Passwort für die Verbindung mit dem Server.

Was wird überwacht?

Die folgende Tabelle enthält die Liste der Messwerte, die der Ops-Agent aus der Redis-Instanz erfasst.

Messwerttyp
Art, Typ
Überwachte Ressourcen
Label
workload.googleapis.com/redis.clients.blocked
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.connected
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_input_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.clients.max_output_buffer
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.commands.processed
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.received
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.connections.rejected
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.cpu.time
CUMULATIVEDOUBLE
gce_instance
state
workload.googleapis.com/redis.keys.evicted
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keys.expired
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.hits
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.keyspace.misses
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.latest_fork
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.fragmentation_ratio
GAUGEDOUBLE
gce_instance
 
workload.googleapis.com/redis.memory.lua
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.peak
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.rss
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.memory.used
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.net.input
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.net.output
CUMULATIVEINT64
gce_instance
 
workload.googleapis.com/redis.rdb.changes_since_last_save
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.backlog_first_byte_offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.replication.offset
GAUGEINT64
gce_instance
 
workload.googleapis.com/redis.slaves.connected
GAUGEINT64
gce_instance
 

Beispieldashboard

Sie können die Messwerte dieser Integration mithilfe eines Cloud Monitoring-Beispiel-Dashboards ansehen. Führen Sie die Schritte unter Beispiel-Dashboards installieren aus, um das Redis GCE-Übersichts-Dashboard aus der Beispielbibliothek zu importieren und Diagramme aufzurufen, die Ihre Redis-Messwerte anzeigen.

Konfiguration prüfen

Mit dem Log-Explorer und dem Metrics Explorer können Sie prüfen, ob Sie den Redis-Empfänger richtig konfiguriert haben. Es kann ein bis zwei Minuten dauern, bis der Ops-Agent Logs und Messwerte erfasst.

Um zu prüfen, ob die Logs aufgenommen wurden, rufen Sie den Log-Explorer auf. Führen Sie dann die folgende Abfrage aus, um die Redis-Logs aufzurufen:

resource.type="gce_instance"
logName=("projects/PROJECT_ID/logs/redis")


Um zu prüfen, ob die Messwerte aufgenommen wurden, rufen Sie den Metrics Explorer auf und führen Sie die folgende Abfrage auf dem Tab MQL aus.

fetch gce_instance
| metric 'workload.googleapis.com/redis.connections.received'
| align rate(1m)
| every 1m

Nächste Schritte

Eine Anleitung zur Installation von Ops-Agent mit Ansible zum Konfigurieren einer Drittanbieteranwendung und zum Installieren eines Beispieldashboards finden Sie im Video Ops-Agent installieren, um Fehler in Drittanbieteranwendungen zu beheben.