นี่คือความผิดปกติของคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
ความผิดปกติ - การตรวจจับข้อมูลผิดปกติ
เรื่องย่อ
ความผิดปกติ [-h|--ช่วยเหลือ] [-v|--รุ่น] [-d|--รายละเอียด]
[-t|--threshold] [--นาที N] [--สูงสุด N]
[-s|--stddev] [-n|--ตัวอย่าง N] [-c|--สัมประสิทธิ์ N]
[-q|--เงียบ]
[-e|--ดำเนินการโปรแกรม]
[-p|--pid PID]
DESCRIPTION
ความผิดปกติสามารถตรวจจับข้อมูลผิดปกติในสตรีมตัวเลข เมื่อต้องการทำเช่นนี้ ความผิดปกติต้องการ
เพื่อดูกระแสข้อมูลตัวเลข และใช้วิธีการตรวจจับแบบใดแบบหนึ่ง ถ้าความผิดปกติคือ
ตรวจพบ มีการตอบสนอง เลือกจากวิธีการที่มีอยู่แล้วอย่างน้อยหนึ่งวิธี
ตัวเลข กระแส
ความผิดปกติทำงานได้ดีที่สุดในไพพ์ และจะอ่านเฉพาะข้อมูลตัวเลขจากอินพุต ง่ายๆ
ตัวอย่างเช่น สมมติว่าคุณต้องการตรวจสอบค่าเฉลี่ยโหลดและมองหาการเพิ่มขึ้นผิดปกติ ภาระ
สามารถรับค่าเฉลี่ยได้จากคำสั่ง 'uptime':
$ เวลาทำงาน
11:40 ขึ้น 15 วัน, 4:04, ผู้ใช้ 6 ราย, โหลดเฉลี่ย: 0.38 0.32 0.32
เราสามารถแยกโหลด 5 นาที (วินาทีในสามตัวเลข) โดยใช้สิ่งนี้:
$ เวลาทำงาน | ตัด -f 13 -d ' '
0.29
ตัวเลขนั้นสามารถดึงออกมาได้นาทีละครั้ง โดยใช้สิ่งนี้:
$ ในขณะที่ [ 1 ]; ทำเวลาทำงาน | ตัด -f 13 -d ' '; นอน 60; เสร็จแล้ว
0.29
0.26
0.19
นั่นคือประเภทของสตรีมข้อมูลที่ตรวจสอบความผิดปกติ พื้นที่สีขาว (ช่องว่าง, แท็บ,
ขึ้นบรรทัดใหม่) ระหว่างตัวเลขจะถูกละเว้น ดังนั้นเราจึงสามารถจำลองกระแสด้านบนดังนี้:
$เสียงสะท้อน 0.29 0.26 0.19
นี่เป็นวิธีที่สะดวกเพื่อแสดงให้เห็นความผิดปกติ ดังที่แสดงด้านล่าง
ตรวจ - THRESHOLD
วิธีการตรวจหาที่ง่ายที่สุดคือขีดจำกัด ซึ่งเปรียบเทียบข้อมูลกับค่าสัมบูรณ์
วิธีนี้สามารถใช้ค่าต่ำสุดและสูงสุดในการเปรียบเทียบได้ ทางเลือกเหล่านี้คือ
ทั้งหมดถูกต้องและใช้ประโยชน์จาก --min, --max หรือทั้งสองอย่าง:
ความผิดปกติ --threshold --min 1.22 --max 9.75
ความผิดปกติ --threshold --นาที1.22
ความผิดปกติ --threshold --max 9.75
ในตัวอย่างต่อไปนี้ ค่า '1' และ '10' จะถูกตรวจพบว่าเป็นค่าผิดปกติ:
$ echo 2 1 3 6 10 5 | ความผิดปกติ --threshold --min 1.5 --max 8
ตรวจพบข้อมูลผิดปกติ ค่า 1 ต่ำกว่าขั้นต่ำ 1.5
ตรวจพบข้อมูลผิดปกติ ค่า 10 อยู่เหนือค่าสูงสุดที่ 8
ตรวจ - มาตรฐาน ค่าเบี่ยงเบน
ส่วนเบี่ยงเบนมาตรฐานจะวัดความแตกต่างจากค่าเฉลี่ยของตัวอย่างข้อมูล และ is
มีประโยชน์ในการตรวจจับค่าที่ไม่ธรรมดา สามารถเลือกขนาดตัวอย่างได้ดังนี้
เป็นข้อมูลเพียงพอที่จะกำหนดค่าเฉลี่ยที่ดี แต่ค่าเริ่มต้นคือ 10 ตัวอย่างที่จำกัด
ขนาด หมายความว่ามีการใช้หน้าต่างกลิ้งของข้อมูล ดังนั้นค่าเฉลี่ยและค่ามาตรฐาน
ส่วนเบี่ยงเบนได้รับการอัปเดตสำหรับหน้าต่างปัจจุบัน ทำให้การเฝ้าติดตามค่อนข้างปรับตัวได้
นี่คือตัวอย่าง:
ความผิดปกติ --stddev --sample 20
ค่านี้ใช้ขนาดตัวอย่างของค่าล่าสุด 20 ค่า และจะตรวจหาค่าใดๆ ที่เป็น
+/- 1 ส่วนเบี่ยงเบนมาตรฐานจากค่าเฉลี่ย ตัวอย่าง:
$ echo 1 2 3 4 5 6 | ความผิดปกติ --stddev --sample 5
ตรวจพบข้อมูลผิดปกติ ค่า 6 มีค่ามากกว่า 1 ซิกมาเหนือค่าเฉลี่ย
3 ด้วยขนาดตัวอย่าง 5
ด้วยขนาดกลุ่มตัวอย่าง 5 การเปรียบเทียบจะเกิดขึ้นหลังจากเห็นค่าที่ 6 เท่านั้น ใน
ตัวอย่างเช่น ค่าเฉลี่ยของ [1 2 3 4 5] คือ 3 และค่าเบี่ยงเบนมาตรฐานคือ 1.58 นี้
หมายความว่าค่าที่ 6 ถือเป็นความผิดปกติหากอยู่ภายในช่วง (3 +/- 1.58)
ซึ่งอยู่ระหว่าง 1.42 ถึง 4.58
เพื่อให้มีความละเอียดอ่อนน้อยลง จึงมีการแนะนำสัมประสิทธิ์ซึ่งมีค่าเริ่มต้นเป็น 1.0 (ดังด้านบน)
แต่สามารถแทนที่ได้:
$ echo 1 2 3 4 5 6 | ความผิดปกติ --stddev --sample 5 --coefficient 1.9
$
ในตัวอย่างนี้ ค่าที่ 6 ไม่ถือว่าเป็นค่าผิดปกติเพราะอยู่ในช่วง
(3 +/- (1.9 * 1.58)) ซึ่งอยู่ระหว่าง -0.002 ถึง 6.002
การตอบสนอง - ข้อความ
การตอบกลับข้อความเป็นค่าเริ่มต้น และประกอบด้วยข้อความที่พิมพ์บรรทัดเดียว มันคือ
คำอธิบายว่าเหตุใดค่าข้อมูลจึงถือเป็นความผิดปกติ นี่คือตัวอย่าง:
$ echo 1 2 3 | ความผิดปกติ --threshold --max 2.5
ตรวจพบข้อมูลผิดปกติ ค่า 3 อยู่เหนือค่าสูงสุดที่ 2.5
ข้อความสามารถระงับได้ แต่ต้องระบุการตอบสนองอื่นเพื่อให้มี
การตอบสนองบางอย่าง:
$ echo 1 2 3 | ความผิดปกติ --threshold --max 2.5 --quiet ...
การตอบสนอง - ดำเนินการ
ความผิดปกติสามารถรันโปรแกรมเพื่อตอบสนองต่อการตรวจจับ นี่คือตัวอย่างที่ใช้ 'วันที่'
คำสั่ง แต่สามารถใช้โปรแกรมใดก็ได้:
$ echo 1 2 3 | ความผิดปกติ --threshold --max 2.5 --quiet --execute '/ถัง/วันที่ +%s'
1361727327
การตอบสนอง - สัญญาณ
ความผิดปกติสามารถส่งสัญญาณ USR1 ไปยังโปรแกรมเพื่อตอบสนองต่อการตรวจจับ:
$ echo 1 2 3 | ความผิดปกติ --threshold --max 2.5 --quiet --pid 12345
ซึ่งจะส่งสัญญาณ USR1 ไปยังกระบวนการด้วย PID 12345 โปรแกรมรับจะ
จำเป็นต้องตอบสนองตามนั้น
เครดิต & ลิขสิทธิ์
ลิขสิทธิ์ (C) 2013 โรงงาน Göteborg Bit
ความผิดปกติถูกแจกจ่ายภายใต้ใบอนุญาต MIT ดู http://www.opensource.org/licenses/mit-
license.php สำหรับข้อมูลเพิ่มเติม
ใช้ความผิดปกติทางออนไลน์โดยใช้บริการ onworks.net