Menu
CoddyTech

Podsumowanie: Monitoring serwera

Część sekcji Uczenie nienadzorowane ścieżki Machine Learning w Coddy. Lekcja 38 z 51.

challenge icon

Wyzwanie

Średni

Serwer WWW rejestrował dane co minutę podczas nocnej zmiany. Które minuty były naprawdę nietypowe?

  1. Przeskaluj cztery columns.
  2. Oznacz minuty za pomocą lasu izolacyjnego (contamination=0.03, random_state=0) oraz LOF (n_neighbors=20, contamination=0.03).
  3. Wypisz minuty oznaczone przez oba algorytmy, w kolejności chronologicznej, jak poniżej.
  4. Umieść na wykresie punktowym wszystkie minuty, liczbę żądań na osi poziomej, a opóźnienie na osi pionowej, z etykietą minutes. Zaznacz czerwonymi okręgami minuty oznaczone przez oba algorytmy, z etykietą both detectors. Dodaj legendę i wyświetl wykres.

W przypadku innej nocy:

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

Nocne minuty pracy serwera, liczba żądań na sekundę na osi poziomej, a opóźnienie na pionowej: rosnąca chmura punktów, trzy minuty z dużym opóźnieniem zakreślone na czerwono powyżej niej i dwie minuty z dużą liczbą żądań daleko po prawej stronie

Coddy następnie opisuje Twój wykres.

Spróbuj swoich sił

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

# Jeden wiersz na każdą minutę nocnej zmiany na serwerze WWW
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# Nie zmieniaj poniższych wierszy
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# Napisz swój kod poniżej

Wszystkie lekcje w sekcji Uczenie nienadzorowane

Poćwicz samodzielnie: Kompilator Python online