이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 이상입니다.
프로그램:
이름
Anomaly - 비정상적인 데이터 탐지
개요
이상 [-h|--도움말] [-v|--버전] [-d|--세부사항]
[-t|--임계값] [--최소 N] [--최대 N]
[-s|--stddev] [-n|--샘플 N] [-c|--계수 N]
[-q|--조용함]
[-e|--프로그램 실행]
[-p|--pid PID]
기술
Anomaly는 숫자 스트림에서 비정상적인 데이터를 감지할 수 있습니다. 그러기 위해서는 변칙이 필요하다.
숫자 데이터 스트림을 확인하고 감지 방법 중 하나를 적용합니다. 이상이 있는 경우
감지되면 하나 이상의 내장 메소드에서 선택되어 응답이 이루어집니다.
숫자 STREAM
Anomaly는 파이프에서 가장 잘 작동하며 입력에서 숫자 데이터만 읽습니다. 간단하게
예를 들어, 로드 평균을 모니터링하고 비정상적인 급증을 찾으려고 한다고 가정해 보겠습니다. 부하
평균은 'uptime' 명령으로 얻을 수 있습니다:
$ 가동 시간
11일 동안 40:15, 4:04, 사용자 6명, 평균 로드: 0.38 0.32 0.32
다음을 사용하여 5분 로드(세 숫자 중 두 번째)를 추출할 수 있습니다.
$ 가동 시간 | 컷 -f 13 -d ''
0.29
다음을 사용하여 해당 숫자를 XNUMX분에 한 번씩 추출할 수 있습니다.
$ 동안 [ 1 ]; 가동 시간을 확보 | 컷 -f 13 -d ' '; 수면 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' 값이 이상 항목으로 감지됩니다.
$ 에코 2 1 3 6 10 5 | 이상 --임계값 --최소 1.5 --최대 8
비정상적인 데이터가 감지되었습니다. 값 1은 최소값인 1.5보다 작습니다.
비정상적인 데이터가 감지되었습니다. 값 10은 최대값인 8보다 높습니다.
감지 - 표준 편차
표준편차는 데이터 표본의 평균값과의 차이를 측정하며 다음과 같습니다.
특별한 값을 감지하는 데 유용합니다. 표본 크기는 다음과 같이 선택될 수 있습니다.
좋은 평균값을 결정하기에 충분한 데이터이지만 기본값은 10입니다. 제한된 샘플
크기는 데이터의 롤링 창이 사용됨을 의미하므로 평균 및 표준
현재 창에 대한 편차가 업데이트됩니다. 이로 인해 모니터링이 어느 정도 적응 가능해집니다.
다음은 그 예입니다.
이상 --stddev --sample 20
이는 가장 최근 값 20개의 샘플 크기를 사용하며 다음과 같은 모든 값을 감지합니다.
평균에서 +/- 1 표준 편차입니다. 예:
$ 에코 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인 계수가 도입되었습니다(위와 같이).
그러나 재정의될 수 있습니다:
$ 에코 1 2 3 4 5 6 | 이상 --stddev --sample 5 --계수 1.9
$
이 예에서 6번째 값은 범위 내에 있으므로 이상으로 간주되지 않습니다.
(3 +/- (1.9 * 1.58)), 이는 -0.002에서 6.002 사이입니다.
응답 - 메세지
메시지 응답은 기본값이며 한 줄의 인쇄된 텍스트로 구성됩니다. 그것은
데이터 값이 변칙으로 간주되는 이유에 대한 설명입니다. 예는 다음과 같습니다.
$ 에코 1 2 3 | 이상 --임계값 --최대 2.5
비정상적인 데이터가 감지되었습니다. 값 3은 최대값인 2.5보다 높습니다.
메시지를 표시하지 않을 수 있지만 다른 응답을 지정해야 합니다.
어떤 종류의 응답:
$ 에코 1 2 3 | 이상 --임계값 --최대 2.5 --조용함 ...
응답 - 실행
Anomaly는 탐지에 대응하여 프로그램을 실행할 수 있습니다. 다음은 '날짜'를 사용하는 예입니다.
명령이지만 모든 프로그램을 사용할 수 있습니다.
$ 에코 1 2 3 | 이상 --threshold --max 2.5 --quiet --execute '/bin/날짜 +%s'
1361727327
응답 - 신호
이상 현상은 감지에 대한 응답으로 USR1 신호를 프로그램에 보낼 수 있습니다.
$ 에코 1 2 3 | 이상 --threshold --max 2.5 --quiet --pid 12345
이는 PID 1를 가진 프로세스에 USR12345 신호를 보냅니다. 수신 프로그램은
그에 따라 대응해야 합니다.
CREDITS & 저작권
저작권 (C) 2013 예테보리 비트 팩토리.
Anomaly는 MIT 라이센스에 따라 배포됩니다. 보다 http://www.opensource.org/licenses/mit-
자세한 내용은 License.php를 참조하세요.
onworks.net 서비스를 사용하여 온라인으로 이상 징후 사용