זוהי חריגת הפקודה שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
אנומליה - זיהוי נתונים חריג
תַקצִיר
אנומליה [-h|--עזרה] [-v|--גרסה] [-d|--פרטים]
[-t|--threshold] [--min N] [--max N]
[-s|--stddev] [-n|--דגימה N] [-c|--מקדם N]
[-q|--שקט]
[-e|--ביצוע תוכנית]
[-p|--pid PID]
תיאור
אנומליה יכולה לזהות נתונים חריגים בזרם מספרי. כדי לעשות זאת, אנומליה צריכה
כדי לראות זרם של נתונים מספריים, וליישם אחת משיטות הזיהוי שלו. אם אנומליה היא
מזוהה, מתבצעת תגובה, שנבחרה מתוך אחת או יותר מתודות מובנות.
מספרים זרם
אנומליה פועלת בצורה הטובה ביותר בצינור, ותקרא רק נתונים מספריים מהקלט שלו. בתור פשוט
לדוגמה, נניח שאתה רוצה לעקוב אחר ממוצע העומס ולחפש קוצים חריגים. העומס
ניתן לקבל ממוצע מהפקודה 'uptime':
זמן פעילות של $
11:40 עד 15 ימים, 4:04, 6 משתמשים, ממוצעי עומס: 0.38 0.32 0.32
אנו יכולים לחלץ את העומס של 5 דקות (המספר השני מבין שלושת המספרים) באמצעות זה:
זמן פעילות של $ | cut -f 13 -d ' '
0.29
ניתן לחלץ את המספר הזה פעם בדקה, באמצעות זה:
$ while [1]; לעשות זמן פעילות | חתך -f 13 -ד ' '; שינה 60; בוצע
0.29
0.26
0.19
זה סוג של זרם נתונים שמנטרל אנומליה. רווח לבן (רווחים, כרטיסיות,
שורות חדשות) בין המספרים מתעלמים, כך שנוכל לדמות את הזרם שלמעלה כך:
$ echo 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 הערכים העדכניים ביותר, ויזהה את כל הערכים שיש
+/- סטיית תקן אחת מהממוצע. דוגמה:
$ echo 1 2 3 4 5 6 | אנומליה --stddev --מדגם 5
זוהו נתונים חריגים. הערך 6 הוא יותר מ-1 סיגמה מעל הערך הממוצע
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 --מדגם 5 --מקדם 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 --שקט ...
תגובה - ביצוע
אנומליה יכולה להפעיל תוכנית בתגובה לזיהוי. כאן דוגמה משתמשת ב'תאריך'
פקודה, אבל ניתן להשתמש בכל תוכנה:
$ 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