ນີ້ແມ່ນຄວາມຜິດປົກກະຕິຂອງຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
anomaly - ການກວດຫາຂໍ້ມູນຜິດປົກກະຕິ
ສະຫຼຸບສັງລວມ
ຜິດລັກ [-h|-- ຊ່ວຍເຫຼືອ] [-v|-- ລຸ້ນ] [-d|-- ລາຍລະອຽດ]
[-t|--threshold] [--min N] [--max N]
[-s|--stddev] [-n|--ຕົວຢ່າງ N] [-c|--coefficient N]
[-q|-- ງຽບ]
[-e|-- ປະຕິບັດໂຄງການ]
[-p|--pid PID]
ລາຍລະອຽດ
ຄວາມຜິດປົກກະຕິສາມາດກວດພົບຂໍ້ມູນທີ່ຜິດປົກກະຕິໃນກະແສຕົວເລກ. ເພື່ອເຮັດສິ່ງນີ້, ຄວາມຕ້ອງການຜິດປົກກະຕິ
ເພື່ອເບິ່ງກະແສຂໍ້ມູນຕົວເລກ, ແລະນໍາໃຊ້ຫນຶ່ງໃນວິທີການກວດພົບຂອງມັນ. ຖ້າມີຄວາມຜິດປົກກະຕິ
ກວດພົບ, ມີການຕອບໂຕ້, ເລືອກຈາກໜຶ່ງ ຫຼືຫຼາຍວິທີທີ່ສ້າງຂຶ້ນ.
ສະບັບເລກທີ STREAM
ຄວາມຜິດປົກກະຕິເຮັດວຽກດີທີ່ສຸດໃນທໍ່, ແລະຈະອ່ານພຽງແຕ່ຂໍ້ມູນຕົວເລກຈາກການປ້ອນຂໍ້ມູນຂອງມັນ. ໃນຖານະເປັນງ່າຍດາຍ
ຕົວຢ່າງ, ສົມມຸດວ່າທ່ານຕ້ອງການຕິດຕາມການໂຫຼດສະເລ່ຍແລະຊອກຫາ spikes ຜິດປົກກະຕິ. ການໂຫຼດ
ໂດຍສະເລ່ຍສາມາດໄດ້ຮັບຈາກຄໍາສັ່ງ 'uptime':
$ uptime
11:40 ຂຶ້ນ 15 ມື້, 4:04, 6 ຜູ້ໃຊ້, ສະເລ່ຍການໂຫຼດ: 0.38 0.32 0.32.
ພວກເຮົາສາມາດສະກັດການໂຫຼດ 5 ນາທີ (ຕົວເລກທີສອງຂອງສາມຕົວເລກ) ໂດຍໃຊ້ນີ້:
$ uptime | ຕັດ -f 13 -d ' '
0.29
ຕົວເລກດັ່ງກ່າວສາມາດສະກັດໄດ້ຫນຶ່ງຄັ້ງຕໍ່ນາທີ, ການນໍາໃຊ້ນີ້:
$ ໃນຂະນະທີ່ [1]; ເຮັດເວລາຫວ່າງ | ຕັດ -f 13 -d ' '; ນອນ 60; ສຳເລັດແລ້ວ
0.29
0.26
0.19
ນັ້ນແມ່ນປະເພດຂອງການຖ່າຍທອດຂໍ້ມູນທີ່ຜິດປົກກະຕິຕິດຕາມ. ພື້ນທີ່ສີຂາວ (ຊ່ອງຫວ່າງ, ແຖບ,
newlines) ລະຫວ່າງຕົວເລກແມ່ນຖືກລະເລີຍ, ດັ່ງນັ້ນພວກເຮົາສາມາດຈໍາລອງນ້ໍາຂ້າງເທິງນີ້:
$ echo 0.29 0.26 0.19
ນີ້ແມ່ນວິທີທີ່ສະດວກເພື່ອສະແດງໃຫ້ເຫັນຄວາມຜິດປົກກະຕິ, ສະແດງຂ້າງລຸ່ມນີ້.
DETECTION - ເກນ
ວິທີການກວດຫາທີ່ງ່າຍດາຍທີ່ສຸດແມ່ນ threshold, ເຊິ່ງປຽບທຽບຂໍ້ມູນເປັນຄ່າຢ່າງແທ້ຈິງ.
ວິທີນີ້ສາມາດໃຊ້ຄ່າຕໍ່າສຸດ ແລະຄ່າສູງສຸດສໍາລັບການປຽບທຽບ. ທາງເລືອກເຫຼົ່ານີ້ແມ່ນ
ຖືກຕ້ອງທັງໝົດ, ແລະໃຊ້ --min, --max ຫຼືທັງສອງ:
ຜິດປົກກະຕິ --threshold --min 1.22 --max 9.75
ຜິດປົກກະຕິ --threshold --min 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.
DETECTION - ມາດຕະຖານ ອຸປະກອນ
ການບ່ຽງເບນມາດຕະຖານວັດແທກຄວາມແຕກຕ່າງຈາກຄ່າສະເລ່ຍຂອງຕົວຢ່າງຂອງຂໍ້ມູນ, ແລະແມ່ນ
ເປັນປະໂຫຍດສໍາລັບການກວດສອບຄຸນຄ່າພິເສດ. ຂະຫນາດຕົວຢ່າງສາມາດເລືອກໄດ້ເຊັ່ນນັ້ນ
ແມ່ນຂໍ້ມູນພຽງພໍທີ່ຈະກໍານົດຄ່າສະເລ່ຍທີ່ດີ, ແຕ່ຄ່າເລີ່ມຕົ້ນເປັນ 10. ຕົວຢ່າງທີ່ຈໍາກັດ
ຂະຫນາດຫມາຍຄວາມວ່າປ່ອງຢ້ຽມມ້ວນຂອງຂໍ້ມູນໄດ້ຖືກນໍາໃຊ້, ແລະດັ່ງນັ້ນຄວາມຫມາຍແລະມາດຕະຖານ
deviation ໄດ້ຖືກປັບປຸງສໍາລັບປ່ອງຢ້ຽມປະຈຸບັນ. ນີ້ເຮັດໃຫ້ການຕິດຕາມການປັບຕົວເລັກນ້ອຍ.
ນີ້ແມ່ນຕົວຢ່າງ:
anomaly --stddev --ຕົວຢ່າງ 20
ນີ້ໃຊ້ຂະຫນາດຕົວຢ່າງຂອງ 20 ຄ່າຫຼ້າສຸດ, ແລະຈະກວດພົບຄ່າໃດໆທີ່ເປັນ
+/- 1 ການບ່ຽງເບນມາດຕະຖານຈາກຄ່າສະເລ່ຍ. ຕົວຢ່າງ:
$ echo 1 2 3 4 5 6 | ຜິດປົກກະຕິ --stddev --ຕົວຢ່າງ 5
ກວດພົບຂໍ້ມູນຜິດປົກກະຕິ. ຄ່າ 6 ແມ່ນຫຼາຍກວ່າ 1 sigma(s) ຂ້າງເທິງຄ່າສະເລ່ຍ
3, ມີຂະຫນາດຕົວຢ່າງຂອງ 5.
ດ້ວຍຂະຫນາດຕົວຢ່າງຂອງ 5, ການປຽບທຽບພຽງແຕ່ຫຼັງຈາກຄ່າທີ 6 ແມ່ນເຫັນໄດ້. ໃນ
ຕົວຢ່າງ, ຄ່າສະເລ່ຍຂອງ [1 2 3 4 5] ແມ່ນ 3, ແລະຄ່າບ່ຽງເບນມາດຕະຖານແມ່ນ 1.58. ນີ້
ຫມາຍຄວາມວ່າຄ່າທີ 6 ຖືກພິຈາລະນາຜິດປົກກະຕິຖ້າຫາກວ່າມັນຢູ່ໃນລະດັບ (3 +/- 1.58).
ເຊິ່ງຢູ່ລະຫວ່າງ 1.42 ຫາ 4.58.
ເພື່ອເຮັດໃຫ້ນີ້ມີຄວາມອ່ອນໄຫວຫນ້ອຍ, ຄ່າສໍາປະສິດໄດ້ຖືກນໍາສະເຫນີ, ເຊິ່ງເລີ່ມຕົ້ນເປັນ 1.0 (ຕາມຂ້າງເທິງ)
ແຕ່ສາມາດ overridden:
$ echo 1 2 3 4 5 6 | anomaly --stddev --ຕົວຢ່າງ 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 '/bin/date +%s'
1361727327
ຮັບຜິດຊອບ - ລາຍເຊັນ
ຄວາມຜິດປົກກະຕິສາມາດສົ່ງສັນຍານ USR1 ໄປຫາໂປຣແກຣມເພື່ອຕອບສະໜອງຕໍ່ການກວດພົບ:
$ echo 1 2 3 | ຜິດປົກກະຕິ --threshold --max 2.5 --quiet --pid 12345
ນີ້ສົ່ງສັນຍານ USR1 ກັບຂະບວນການທີ່ມີ PID 12345. ໂຄງການຮັບຈະ
ຈໍາເປັນຕ້ອງຕອບສະຫນອງຕາມຄວາມເຫມາະສົມ.
CREDITS & ສຳ ເນົາ
ລິຂະສິດ (C) 2013 Göteborg Bit Factory.
ຄວາມຜິດປົກກະຕິແມ່ນແຈກຢາຍພາຍໃຕ້ໃບອະນຸຍາດ MIT. ເບິ່ງ http://www.opensource.org/licenses/mit-
license.php ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
ໃຊ້ຄວາມຜິດກະຕິອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net