Menu
CoddyTech

סיכום: ניטור השרת

חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 38 מתוך 51.

challenge icon

אתגר

בינוני

שרת אינטרנט תיעד כל דקה במשמרת הלילה. אילו דקות היו באמת חריגות?

  1. בצעו התאמה של ארבעת columns.
  2. סמנו דקות באמצעות Isolation Forest (contamination=0.03, random_state=0) וגם באמצעות LOF (n_neighbors=20, contamination=0.03).
  3. הדפיסו את הדקות שסומנו על ידי שני הגלאים, לפי סדר השעות, כמו בדוגמה שלהלן.
  4. הציגו בתרשים פיזור כל דקה, מספר הבקשות בציר האופקי וההשהיה בציר האנכי, עם התווית minutes. סמנו בעיגול אדום את הדקות שסומנו על ידי שני הגלאים, עם התווית both detectors. הוסיפו מקרא והציגו את התרשים.

עבור לילה אחר:

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

לילה של דקות שרת, מספר הבקשות לשנייה בציר האופקי וההשהיה בציר האנכי: ענן נתונים עולה, שלוש דקות איטיות מוקפות בעיגול אדום מעליו ושתיים עמוסות הרחק מימין

Coddy יתאר את התרשים שלך.

נסו בעצמכם

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

# שורה אחת לכל דקה במשמרת הלילה בשרת אינטרנט
log = pd.read_csv("servers.csv")
columns = ["cpu_pct", "memory_gb", "requests_per_s", "latency_ms"]

# אין לשנות את השורות שלהלן
fig, ax = plt.subplots()
ax.set_title("Server Watch")
ax.set_xlabel("Requests per second")
ax.set_ylabel("Latency (ms)")

# כתבו את הקוד שלכם למטה

כל השיעורים ביחידה למידה בלתי מונחית

תרגלו בעצמכם: קומפיילר Python אונליין