אנומליה - אונליין בענן

זוהי חריגת הפקודה שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


אנומליה - זיהוי נתונים חריגים

תַקצִיר


אנומליה [-h|--עזרה] [-v|--גרסה] פרטים
[-t|--סף] [--מינימום N] [--מקסימום N]
[-s|--stddev] [-n|--sample N] [-c|--coefficient N]
[-q|--שקט]
[-e|--הפעל תוכנית]
[-p|--pid PID]

תיאור


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

מספרים זרם


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

זמן פעולה של $
11:40 למעלה 15 ימים, 4:04, 6 משתמשים, ממוצעי טעינה: 0.38 0.32 0.32

נוכל לחלץ את הטעינה של 5 דקות (המספר השני מבין שלושת המספרים) באמצעות זה:

זמן פעולה של $ | חתוך -f 13 -d ' '
0.29

ניתן לחלץ את המספר הזה פעם בדקה, באמצעות ההוראות הבאות:

$ while[1]; בצע זמן פעולה | cut -f13 -d''; sleep 60; בוצע
0.29
0.26
0.19

זהו סוג זרם הנתונים שאנומליה מנטרת. רווחים לבנים (רווחים, טאבים,
שורות חדשות) בין המספרים מתעלמות, כך שנוכל לדמות את הזרם הנ"ל כך:

הד $ 0.29 0.26 0.19

זוהי דרך נוחה להדגים אנומליה, המוצגת להלן.

איתור - מפתן


שיטת הגילוי הפשוטה ביותר היא סף, המשווה את הנתונים לערך מוחלט.
שיטה זו יכולה להשתמש בערך מינימלי ומקסימלי לצורך השוואה. חלופות אלו הן
כולם תקפים, ומשתמשים ב--min, --max או בשניהם:

אנומליה --סף --מינימום 1.22 --מקסימום 9.75
אנומליה --סף --מינימום 1.22
אנומליה --סף --מקסימום 9.75

בדוגמה הבאה, הערכים '1' ו-'10' יזוהו כאנומליות:

$ echo 2 1 3 6 10 5 | אנומליה --סף --מינימום 1.5 --מקסימום 8
זוהו נתונים חריגים. הערך 1 נמוך מהמינימום של 1.5.
זוהו נתונים חריגים. הערך 10 גבוה מהערך המקסימלי של 8.

איתור - תקן חֲרִיגָה


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

אנומליה --stddev --דוגמה 20

פעולה זו משתמשת בגודל מדגם של 20 הערכים האחרונים, ויזהה כל ערך שהוא
סטיית תקן של +/- 1 מהממוצע. דוגמה:

$ echo 1 2 3 4 5 6 | אנומליה --stddev --sample 5
זוהו נתונים חריגים. הערך 6 גבוה ביותר מסיגמא אחת מהערך הממוצע.
3, עם גודל מדגם של 5.

עם גודל מדגם של 5, ההשוואות מתבצעות רק לאחר שנצפה הערך השישי.
לדוגמה, הערך הממוצע של [1 2 3 4 5] הוא 3, וסטיית התקן היא 1.58. זה
פירושו שהערך השישי נחשב אנומליה אם הוא נמצא בטווח (6 +/- 3),
שנמצא בין 1.42 ל-4.58.

כדי להפוך את זה לפחות רגיש, מוצג מקדם, שברירת המחדל שלו היא 1.0 (כנ"ל)
אך ניתן לעקוף זאת:

$ echo 1 2 3 4 5 6 | אנומליה --stddev --sample 5 --coefficient 1.9
$

בדוגמה זו, הערך השישי אינו נחשב אנומליה מכיוון שהוא נמצא בטווח
(3 +/- (1.9 * 1.58)), שהוא בין -0.002 ל-6.002.

תגובה - הודעה


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

$ echo 1 2 3 | אנומליה --סף --מקסימום 2.5
זוהו נתונים חריגים. הערך 3 גבוה מהערך המקסימלי של 2.5.

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

$ echo 1 2 3 | אנומליה --סף --מקסימום 2.5 --שקט ...

תגובה - ביצוע


אנומליה יכולה להריץ תוכנית בתגובה לזיהוי. הנה דוגמה המשתמשת ב-'date'
פקודה, אך ניתן להשתמש בכל תוכנית:

$ echo 1 2 3 | אנומליה --סף --מקסימום 2.5 --שקט --ביצוע '/bin/date +%s'
1361727327

תגובה - אוֹת


אנומליה יכולה לשלוח אות USR1 לתוכנית בתגובה לזיהוי:

$ echo 1 2 3 | אנומליה --סף --מקסימום 2.5 --שקט --pid 12345

פעולה זו שולחת את אות USR1 לתהליך עם PID 12345. התוכנית המקבלת תעשה זאת.
צריך להגיב בהתאם.

קרדיטים & זכויות יוצרים


זכויות יוצרים (C) 2013 Göteborg Bit Factory.

אנומלי מופץ תחת רישיון MIT. ראה http://www.opensource.org/licenses/mit-
license.php למידע נוסף.

השתמש באנומליה מקוונת באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows