Ito ang anomalya ng command na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
anomalya - maanomalyang pagtuklas ng data
SINOPSIS
talagang pambihira [-h|--tulong] [-v|--bersyon] [-d|--mga detalye]
[-t|--threshold] [--min N] [--max N]
[-s|--stddev] [-n|--sample N] [-c|--coefficient N]
[-q|--tahimik]
[-e|--isagawa ang PROGRAM]
[-p|--pid PID]
DESCRIPTION
Ang anomalya ay maaaring makakita ng maanomalyang data sa isang numeric na stream. Upang magawa ito, kailangan ng anomalya
upang makakita ng stream ng numeric na data, at ilapat ang isa sa mga paraan ng pagtuklas nito. Kung anomalya ang
nakita, isang tugon ay ginawa, pinili mula sa isa o higit pang mga built in na pamamaraan.
Bilang STREAM
Pinakamahusay na gumagana ang anomalya sa isang pipe, at magbabasa lamang ng numeric na data mula sa input nito. Bilang isang simple
halimbawa, ipagpalagay na gusto mong subaybayan ang average ng pagkarga at maghanap ng mga hindi pangkaraniwang spike. Ang load
average ay maaaring makuha mula sa 'uptime' na utos:
$ uptime
11:40 hanggang 15 araw, 4:04, 6 na gumagamit, mga average ng pag-load: 0.38 0.32 0.32
Maaari nating kunin ang 5 minutong pagkarga (ang pangalawa sa tatlong numero) gamit ito:
$ uptime | gupitin -f 13 -d ' '
0.29
Maaaring kunin ang numerong iyon isang beses sa isang minuto, gamit ito:
$ habang [1]; gawin ang uptime | gupitin -f 13 -d ' '; matulog 60; tapos na
0.29
0.26
0.19
Iyan ang uri ng data stream na sinusubaybayan ng anomalya. White space (mga puwang, tab,
newlines) sa pagitan ng mga numero ay binabalewala, kaya maaari naming gayahin ang stream sa itaas tulad nito:
$ echo 0.29 0.26 0.19
Ito ay isang maginhawang paraan upang ipakita ang anomalya, na ipinapakita sa ibaba.
DETEKTO - THRESHOLD
Ang pinakasimpleng paraan ng pagtuklas ay ang threshold, na naghahambing ng data sa isang ganap na halaga.
Ang pamamaraang ito ay maaaring gumamit ng minimum at maximum na halaga para sa paghahambing. Ang mga alternatibong ito ay
lahat ay wasto, at gamitin ang --min, --max o pareho:
anomalya --threshold --min 1.22 --max 9.75
anomalya --threshold --min 1.22
anomalya --threshold --max 9.75
Sa sumusunod na halimbawa, ang mga value na '1' at '10' ay matutukoy bilang mga anomalya:
$ echo 2 1 3 6 10 5 | anomalya --threshold --min 1.5 --max 8
May nakitang maanomalyang data. Ang value 1 ay mas mababa sa minimum na 1.5.
May nakitang maanomalyang data. Ang value na 10 ay mas mataas sa maximum na 8.
DETEKTO - STANDARD PAGLIHIS
Sinusukat ng standard deviation ang mga pagkakaiba mula sa mean value ng isang sample ng data, at ay
kapaki-pakinabang para sa pag-detect ng mga hindi pangkaraniwang halaga. Ang laki ng sample ay maaaring mapili tulad na doon
ay sapat na data upang matukoy ang isang magandang mean na halaga, ngunit ang default ay 10. Ang limitadong sample
laki ay nangangahulugan na ang isang rolling window ng data ay ginagamit, at samakatuwid ay ang ibig sabihin at pamantayan
Ang paglihis ay ina-update para sa kasalukuyang window. Ginagawa nitong medyo adaptive ang pagsubaybay.
Narito ang isang halimbawa:
anomalya --stddev --sample 20
Gumagamit ito ng sample na laki ng 20 pinakakamakailang value, at matutukoy ang anumang value na iyon
+/- 1 standard deviation mula sa mean. Isang halimbawa:
$ echo 1 2 3 4 5 6 | anomalya --stddev --sample 5
May nakitang maanomalyang data. Ang value 6 ay higit sa 1 sigma(s) sa itaas ng mean value
3, na may sample na laki na 5.
Sa sample na sukat na 5, ang mga paghahambing ay pagkatapos lamang makita ang ika-6 na halaga. Nasa
halimbawa, ang mean value ng [1 2 3 4 5] ay 3, at ang standard deviation ay 1.58. Ito
nangangahulugan na ang ika-6 na halaga ay itinuturing na isang anomalya kung ito ay nasa loob ng saklaw (3 +/- 1.58),
na nasa pagitan ng 1.42 at 4.58.
Upang gawin itong hindi gaanong sensitibo, isang coefficient ang ipinakilala, na nagde-default sa 1.0 (tulad ng nasa itaas)
ngunit maaaring ma-override:
$ echo 1 2 3 4 5 6 | anomalya --stddev --sample 5 --coefficient 1.9
$
Sa halimbawang ito, hindi itinuturing na anomalya ang ika-6 na value dahil nasa loob ito ng saklaw
(3 +/- (1.9 * 1.58)), na nasa pagitan ng -0.002 at 6.002.
TUGON - MESSAGE
Ang tugon sa mensahe ay ang default, at binubuo ng isang linya ng naka-print na teksto. Ito ay
isang paglalarawan kung bakit itinuturing na anomalya ang halaga ng data. Narito ang isang halimbawa:
$ echo 1 2 3 | anomalya --threshold --max 2.5
May nakitang maanomalyang data. Ang value na 3 ay mas mataas sa maximum na 2.5.
Maaaring pigilan ang mensahe, ngunit dapat tukuyin ang isa pang tugon, upang mayroon
ilang uri ng tugon:
$ echo 1 2 3 | anomalya --threshold --max 2.5 --tahimik ...
TUGON - HALIMBAWA
Ang anomalya ay maaaring magsagawa ng isang programa bilang tugon sa pagtuklas. Dito ginagamit ng isang halimbawa ang 'petsa'
command, ngunit maaaring gamitin ang anumang programa:
$ echo 1 2 3 | anomalya --threshold --max 2.5 --quiet --execute '/bin/date +%s'
1361727327
TUGON - SINYAL
Ang anomalya ay maaaring magpadala ng signal ng USR1 sa isang programa bilang tugon sa pagtuklas:
$ echo 1 2 3 | anomalya --threshold --max 2.5 --tahimik --pid 12345
Ipinapadala nito ang signal ng USR1 sa proseso gamit ang PID 12345. Ang programa ng pagtanggap ay
kailangang tumugon nang naaayon.
CREDITS & MGA KARAPATAN
Copyright (C) 2013 Göteborg Bit Factory.
Ang anomalya ay ipinamahagi sa ilalim ng lisensya ng MIT. Tingnan mo http://www.opensource.org/licenses/mit-
license.php para sa karagdagang impormasyon.
Gumamit ng anomalya online gamit ang mga serbisyo ng onworks.net