리눅스 컴퓨터 (CentOS 5)의 일일 네트워크 트래픽 통계를 유지해야합니다.
표준 / 기본 도구 또는 유틸리티를 사용하는 방법이 있습니까?
아니면 특수 소프트웨어를 다운로드해야합니까?
감사.
리눅스 컴퓨터 (CentOS 5)의 일일 네트워크 트래픽 통계를 유지해야합니다.
표준 / 기본 도구 또는 유틸리티를 사용하는 방법이 있습니까?
아니면 특수 소프트웨어를 다운로드해야합니까?
감사.
답변:
rrdtool (및 백엔드로 사용하는 다른 모든 것-MRTG, Cacti 등)에 대한 Zypher의 의견은 아마도 정확할 것입니다. RRDTool은 '평균화 된'과거 추세 분석 도구로 설계되었습니다. 카운터는 점점 비 정확한 증분 단위로 카운터를 평균화하고 저장합니다.
그러나 RRA를 적절하게 설정하여 구성 할 수 있습니다. 그러나 이것들을 구성하는 것에 대해 전혀 아는 것이 없다고 고백하고 개인적으로 내 표준 세트 (15 분, 8 시간, 1 주, 1 개월, 1 년)를 넘어서서 운이 없었습니다. 일일 입력을 예상하고 netstat에서 대역폭 카운터에 피드를 제공하도록 RRA를 구성하는 것이 좋습니다. 아주 좋은 과거 데이터와 사용 패턴에 대한 통찰력을 얻을 수 있습니다.
일일 대역폭 제한을 초과하지 않도록하는 현재 문제에 대한 답변 해당 인터페이스에 대해 매일 netstat 카운터를 가져 오는 것이 좋습니다. 시간 t의 어제 트래픽을 시간 t의 오늘의 카운터와 비교하여 얼마나 많은 양이 전송되었는지 확인할 수 있습니다. 이전 값의 플랫 텍스트 파일 스토리지가있는 간단한 스크립트로 충분할 것입니다. 초과 대역폭을 감지하거나 하루 종일 모니터링하면 인터페이스를 비활성화하고 관리자가 한계에 도달하면 관리자에게 알릴 수 있습니다.
OSX 시스템에서 입력 바이트를 얻으려면 다음 명령 세트를 사용할 수 있습니다.
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'
반대로 출력은 다음과 같이 얻을 수 있습니다.
netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'
관련 카운터를 어딘가에 저장된 플랫 파일에 넣고 다음과 비교할 수 있습니다.
#!/bin/bash
set -e # exit if any error occurs
previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`
if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage
netstat 처리를 시스템과 일치하도록 조정하십시오 (OSX를 실행하지 않는다는 것을 알고 있기 때문에).
또한 VnStat을 사용하는 것이 좋습니다.
vnStat 1.6 by Teemu Toivola <tst at iki dot fi>
-q, --query query database
-h, --hours show hours
-d, --days show days
-m, --months show months
-w, --weeks show weeks
-t, --top10 show top10
-s, --short use short output
-u, --update update database
-i, --iface select interface (default: eth0)
-?, --help short help
-v, --version show version
-tr, --traffic calculate traffic
-l, --live show transfer rate in real time
eth0 / monthly
month rx | tx | total
-------------------------+--------------+--------------------------------------
Oct '09 225.70 GB | 798.52 GB | 1.00 TB %%%%:::::::::::::
Nov '09 138.46 GB | 616.54 GB | 755.01 GB %%::::::::::
eth0 / daily
day rx | tx | total
------------------------+-------------+----------------------------------------
31.12. 6.56 GB | 34.39 GB | 40.95 GB %%%::::::::::::::::
01.01. 1.13 GB | 746.92 MB | 1.86 GB
sysstat 패키지에는 sar 유틸리티가 포함되어 있습니다. Sar는 사전 정의 된 간격 (cron)으로 다양한 통계를 수집하는 더 나은 용어가없는 매우 구성 가능한 시스템 "프로파일 러"입니다. 이 파일은 일반적으로 매주 회전하지만 구성 가능한 이진 파일에 매일 하나씩 저장됩니다. sar 프로그램을 사용하여 이러한 파일에서 통계를 가져올 수 있으며 이러한 결과는 모든 사무실 프로그램이나 gnuplot (개인 선호도)으로 쉽게 그래프로 표시 할 수 있습니다.
http://pagesperso-orange.fr/sebastien.godard/ <= Sar 정보
http://www.gnuplot.info/ <= gnuplot 정보
당신이 원하는 MRTG 도구를 모니터링 네트워크, 그 웹의 주위에 당신이 보는 모든 네트워크 그래프를 생성하는 것 (rdtool와 사진에 번호를 켭니다)
설정하고 싶지 않거나 더 간단한 것이 필요한 경우 iptables 를 사용 하여 데이터 전송을 기록 할 수 있습니다 .
Munin 은 설정하기 매우 쉬운 또 다른 멋진 RRD 기반 도구입니다. 기본 네트워크 통계는 매우 기본적이지만 플러그인을 쉽게 추가 할 수 있습니다. 내 서버 중 하나에 일별 및 주별 통계 사본을 첨부했습니다. 또한 다른 페이지에 월별 및 연간 통계가 표시됩니다.