Menu
CoddyTech

Riepilogo: monitoraggio del server

Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 38 di 51.

challenge icon

Sfida

Medio

Un server web ha registrato ogni minuto del turno di notte. Quali minuti erano davvero insoliti?

  1. Scala le quattro columns.
  2. Segnala i minuti con una foresta di isolamento (contamination=0.03, random_state=0) e con LOF (n_neighbors=20, contamination=0.03).
  3. Stampa i minuti segnalati da entrambi, in ordine cronologico, come sotto.
  4. Traccia tutti i minuti con le richieste sull'asse orizzontale e la latenza su quello verticale, con etichetta minutes. Cerchia in rosso i minuti segnalati da entrambi, con etichetta both detectors. Aggiungi una legenda e mostra il grafico.

Per un'altra notte:

Both detectors flag 5 minutes:
  00:25: 1116 requests/s, 186 ms
  01:10: 2106 requests/s, 95 ms
  02:00: 1151 requests/s, 133 ms
  02:40: 835 requests/s, 142 ms
  03:10: 1774 requests/s, 82 ms

Una notte di minuti di attività del server, richieste al secondo sull'asse orizzontale e latenza su quello verticale: una nuvola crescente, tre minuti lenti cerchiati in rosso sopra di essa e due minuti molto intensi molto più a destra

Coddy descrive quindi il tuo grafico.

Provalo tu

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import IsolationForest
from sklearn.neighbors import LocalOutlierFactor

# Una riga per ogni minuto del turno di notte su un server web
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# Non modificare le righe qui sotto
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento non supervisionato

Esercitati da solo: Compilatore Python online