tcpdump
으로 캡처 한 네트워크 트래픽을 처리해야합니다. 소통량을 읽는 것은 어렵지 않다, 그러나 조금 까다로워지는 무엇이 소통량에서 "스파이크"가있는 곳에 반점을두기. 나는 주로 TCP SYN 패킷에 관심이 있고 내가 원하는 것은 주어진 목적지 포트에 대한 트래픽이 갑자기 증가한 날을 찾는 것이다. 처리 할 데이터가 상당히 있습니다 (대략 1 년).트래픽 데이터의 이상 징후 ("스파이크")를 탐지하는 알고리즘
제가 지금까지 시도한 것은 지수 이동 평균을 사용하는 것입니다. 이것은 흥미로운 조치를 취할 수있을 정도로 좋았지 만, 외부 데이터 소스와 비교해 보니 너무 공격적이었습니다. 이상 징후로.
나는 기하 급수적 인 이동 평균과 과거 데이터의 조합을 사용하는 것을 고려해 보았습니다. (아마도 과거 7 일에서부터 내가 보는 것에 주간주기가되어야한다고 생각했을 것입니다) read는 좋은 방법으로 리소스 사용을 모델링하는 것처럼 보였습니다.
그래서, 누군가는 좋은 방법이나 어딘가에 가서 이런 종류의 것을 읽는 것을 안다.
내가 사용해온 이동 평균은 대략 다음과 같습니다.
avg = avg+0.96*(new-avg)
avg
은 EMA이고 new
은 새로운 측정 값입니다. 나는 어떤 임계 값을 실험했는지를 실험 해왔다. 그러나 나쁜 결과를 내기 위해서는 "새로운 값을 재어보기 전에 평균보다 높은 주어진 요소 여야한다"와 "적어도 3 이상이어야한다"라는 조합을 발견했다.
재미있는 독서입니다. 현재 필요한 트래픽 수준의 증가는 필자가 필요로하는 수준이면 충분하지만 미래에 고려해야 할 사항입니다. – Vatine