2012년 1월 13일 금요일

mrtg - 트래픽 양을 숫자로 보여주기

0. 개요

    - 지난 게시물( http://hostinglove.com/bbs/board.php?bo_table=Tip_Tech&wr_id=16 )에서 매일매일의 최고트래픽을 구하는 방식을 살펴보았다.

    - 이제, 구해진 값으로 html 문서를 만들어서 으로 보여주자.

    - 항상 언급하지만, 스크립트는 개개인의 취향이라.... 정확한 답이 없고 본인이 편하게 작업하면 그만이다.. ^^

 

 

1. /etc/crontab



    - /etc/crontab 파일의 가장 끝부분에 위와 같이 한 줄을 추가해서

      /root/TopTraffic.sh 파일을 매일밤 11시 59분에 실행되게 했다.

    - /root/TopTraffic.sh 파일의 퍼미션은 700으로 했다.


 

2. /root/TopTraffic.sh


    - cat 명령에 '-n' 옵션을 추가해서 판독하기 쉽게 표현했다. 2,4,8라인이 공란이다.

    - 3라인의 리다이렉션('>>') 앞부분은 이전게시물을 참고하기 바란다. 이 값을 3886_8.traffic 파일로 계속 누적해서 기록한다.

    - 5~7라인은 3886_8.txt 파일에 매일매일의 최대트래픽을 누적해서 기록하고 있다.

      차후에 3886_8.txt 파일은 html 파일에서 인클루드시켜 보여주게 된다.

    - 'class=woo2' 등의 옵션은 html 문법을 모른다면 지나가도 좋다.. ^^

    - 6라인의 awk 명령어에서는 3886_8.traffic 파일의 $1,$2,$3 값을 가져오고 $5 값의 뒤에는 'MB'를 붙여서 기록하게 했다.

 


3. /home/mrtg/html/switch14/3886_8.traffic


    - 매일 밤 11시 59분에(/etc/crontab 파일에서 지정) 그날 하루중 가장 큰 트래픽이 발생한 시간과 트래픽 값이

      누적해서 기록되고 있다.


 

4. /home/mrtg/html/switch14/3886_8.txt


    - 3886_8.txt 파일에는 매일 밤 11시 59분에 3개의 라인씩 추가가 된다.

    - 이 파일을, 웹에서 보여지는 html 파일에서 필요한 부분에 불러오면 된다.


 

5. /home/mrtg/html/switch14/192.168.0.190.html


    - html 파일의 이름은 본인이 편하게 만들면 된다. 여기서는 서버의 IP인 192.168.0.190.html 으로 했다(가상값).

    - 30~32라인에서 3886_8.txt 파일을 불러왔다. php가 설치되지 않았다면 'iframe' 태그를 이용해도 된다.

    - html 파일을 보기 편하게 편집하는 것은 개개인의 스타일대로 하면 된다. 아니면 그냥 웹디에게 주자.. ^^;;

 


6. 웹에서 보기



    - 위에서 보이는 방식으로 매일매일 웹상에 추가되어 나타난다.

    - '그래프보기'를 클릭하면 원본 mrtg 트래픽의 그래픽을 볼 수 있게 했다.


http://hostinglove.com/bbs/board.php?bo_table=Tip_Tech&wr_id=17


mrtg - 하루중 가장 높은 트래픽 기록하기















[Linux] mrtg - 하루중 가장 높은 트래픽 기록하기
글쓴이 : 관리자     날짜 : 10-11-08 12:50     조회 : 1101    

0. 테스트 환경

    모든 테스트 환경은 2010년 11월 1일 기준의 최신 AnNyung Linux 배포판에서 했다.

 

 

1. 개요

    - mrtg를 운영할 경우, 매일매일의 (최대)사용트래픽을 숫자로 저장하고자 한다.

    - 통상적으로, 그래프로 나타내어 지는 트래픽의 양은 정확한 수치로 표현하기가 어렵다.

    - 따라서, mrtg 로그파일을 이용하여 하루에 한 번씩 가장 높은 트래픽을 추출하여 별도의 숫자로 기록하는 방식이다.

 

 

2. mrtg 로그파일


    - 스위치의 해당 포트에 대한 트래픽 양을 기록한 로그파일은 확장자가 .log 파일이다.

    - 여기서는 3886_8.log 파일을 해당 포트의 트래픽 로그파일로 가정한다.

    - 로그파일의 내용을 살펴보면, 그 포맷은 다음과 같다.

 

      첫번째라인 : timestamp값 | IN bytes 갯수 |  OUT bytes 갯수

      두번째라인이후 : timestamp값 | 평균 IN bytes |  평균 OUT bytes | 최대 IN bytes | 최대 OUT bytes

 

 

3. 쉘상에서 하루 최대트래픽 가져오기

    - mrtg의 로그는 5분(=300초) 간격으로 기록되므로, 한시간에 12라인이.... 하루에 288라인이 기록된다.

    -  첫 라인을 제외하고, 두 번째 라인부터 289라인까지가 현시간을 기준으로 1일 쌓인 mrtg 로그이다.

    - 여기서 필요한 값은, 첫 번째 칸의 timestamp 값과 네 번째 칸의 최대 IN bytes 값이다.

    - 따라서, 로그파일의 두 번째 라인부터 289라인까지의 값 중에서 네 번째 칸이 가장 큰 값을 가져오면 된다.

 


      head -n 289 3886_8.log  // 3886_8.log 파일의 첫 라인부터 289라인까지 가져온다.

      tail -n 288                       // 가져온 값에서 첫 라인을 제외하고 나머지 288라인을 가져온다.

      sort -k4 -n -r              // 네 번째 필드를 기준으로(-k4), 숫자순서로(-n), 내림차순으로(-r) 정리한다.

      head -n 1                       // 정렬된 값의 가장 처음 라인을 가져온다.

 

    - 위의 결과값으로 나온 필드 중에서 첫 번째(1288707600) 필드와 네 번째(4544071) 필드만 필요하다.

       첫 값은 timestamp 값이고, 네 번째 필드가 트래픽 값이며 단위는 bytes 이다.

 

 

4. 추출값 변환

 

    - 위의 명령어는 한 줄이다. 중간에 awk 다음에 역슬래쉬(\)를 넣은 것은 생략하고 한 줄로 적으면 된다.

    - 해당 명령어로 원하는 값을 얻었다.

       2010년 11월 02일 23:20:00 시간에 29.4메가의 트래픽이 하루동안 가장 큰 트래픽이다.

    - timestamp값을 변환하여 알아보기 쉽게 하였고, 트래픽은 메가단위로 소숫점 한자리까지만 나타냈다.

    - awk 명령어에 대한 내용은 다른 자료를 찾아보기 바란다. 내용이 길어져서 차후에 별도로 지면을 할애하여 설명할 계획이다.

 

    - 참고1 : perl이 설치되어 있다면, 다음의 명령어로 콘솔상에서 timestamp값을 바로 변환할 수도 있다.

       # perl -e 'print scalar localtime(1288707600),"\n"'

       Tue Nov  2 23:20:00 2010

 

    - 참고2 : 추출데이터를 약간 가공만 하면, 하루 누적트래픽 등도 구할 수 있다.

http://hostinglove.com/bbs/board.php?bo_table=Tip_Tech&wr_id=16

2012년 1월 10일 화요일

bash: rsync: command not found

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: remote command not found (code 127) at io.c(463) [receiver=2.6.8]


기존의 리눅스의 rysnc를 통해 윈도우서버의 자료들을 rsync + ssh 조합으로 백업 하고 있었다.
새로운 윈도우 서버를 추가하려고 cygwin을 설치하고 ssh 를 설치 한 것까지는 했으나,
윈도우 서버에다가 rsync를 설치 하지 않아서 발생한 문제.

ssh를 통한 rsync접속은 클라이언트만 rsync가 있으면 되는 줄 알았더니, 그게 아니였다.
클라이언트와 서버 모두에 rsync가 설치 되어 있어야 한다.

만약 rsync가 설치 되어있는데도 위와 같은 에러메시지가 나온다면

--rsync-path=/usr/local/bin/rsync

위의 같은 옵션을 사용하자.

2012년 1월 6일 금요일

novero Rockaway 구입 사용기





선없는 자유를 꿈꾸기에 블루투스 이어폰이 갖고 싶었다.


예전에 모토로라에서 나온 s9인가를 샀던 적이 있는 데, 끊기는 정도가 너무 심해서


중고로 팔아 버린 적이 있다.


몇달전에는 sony nwz-w262 를 샀는데, 이게 여름에는 괜찮은 데 겨울에는 두꺼운 옷을 입고


들으려고 하니까 넥밴드 제품이라 자꾸 벗겨지기 일쑤였다.


이번에는 직접 듣고 고를 생각으로 용산으로 갔다.


오랜만에 도착한 용산 지하철역은 참 많이 변해 있어서 조금 헤매였다.


전자상가라는 표지판만 따라가니, 카메라 파는 곳만 잔뜩 있는 가운데


블루투스 이어폰 파는 곳을 발견했다.


예상과는 다르게 블루투스 이어폰 전부를 체험해 보진 못하였지만,


한개의 모델을 체험해 본 결과, 끊기는 정도는 심하지 않아서 사기로 마음 먹었다.


해서 뭐를 살까 하다가 눈에 띈게 novero Rockaway 이었다.
사용자 삽입 이미지


다른 블루투스 이어폰과는 다르게 동글이가 없다는 점이 마음에 들었다.


그러나 가격대가 무려 2배이상인 15만원에 한다는 것이 마음에 걸렸지만 두고두고 오래 쓸 생각에


구매하게 되었다.


음질은 막귀여서 그닥 나쁘지 않은 정도.


끊기는 정도는 집에 올때 까지만 해도 없다시피 했는데, 집에 오니까 왜 이렇게 끊기니;;


좀 더 두고 봐야 겠고, 다른 한가지 문제는 귀에서 너무 잘 빠진다.


http://inhome.tistory.com/35 이분 얘기로는 이어팁을 바꾸면 그나마 났다고 한다.


좀 열받는 건 집에와서 인터넷 검색 해보니까 이게 인터파크에서 116,430원에


팔고 있었다. ㅡㅡ^


좀 깍아 달래서 14만 5천에 샀는 데, 그래도 무려 28,570이 비싸다.


인터넷이 싼건지, 용팔이가 비싸게 판건 지 모르겠지만 암튼 맘이 좀 아푸네~ ㅜㅜ

2011년 12월 30일 금요일

자주 쓰는 mssql 명령어

DB 파일 추가.
EXEC sp_attach_db @dbname = N'kookil',
@filename1 = N'D:\SQLDATA\MSSQL.1\MSSQL\Data\kookil.mdf',
@filename2 = N'D:\SQLDATA\MSSQL.1\MSSQL\Data\kookil.ldf'

유저명정보매치
기존 데이터베이스 사용자를 SQL Server 로그인에 매핑합니다. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 ALTER USER를 사용하십시오.

USE [TESTDB]
EXEC sp_change_users_login "Update_One", "유저명", "유저명"

http://msdn.microsoft.com/ko-kr/library/ms174378.aspx

소유자 변경
SP_MSFOREACHTABLE 'sp_changeobjectowner "?", "dbo"'

http://gdbt.tistory.com/58

2011년 12월 29일 목요일

nowjs 설치

nowjs 를 설치 해 보았다.
세미나 가서 들은 한 서버에 50만명의 인원을 커버한다는 말의 임팩트가 아직도 남아있다.

centos 5.7 버젼에 설치.

yum groupinstall 'Development Tools' 

http://nodejs.org 에서 최신버젼을 다운.
cd /usr/local/src
wget http://nodejs.org/dist/v0.6.6/node-v0.6.6.tar.gz

tar zxvf node-v0.6.6.tar.gz
cd node-v0.6.6

 ./configure &&  make && make install

정상적으로 설치 되었다면 경로 등록을 해준다.

  vim /root/.bash_profile 에 아래 내용 추가.
  export NODE_PATH=/usr/local/lib/node_modules

일단 여기까지는 nodejs 설치 완료.

nowjs 설치를 위해 npm을 설치.
curl http://npmjs.org/install.sh > install.sh
 sh install.sh

npm install now -g
chown -R $USER /usr/local

설치 완료.

http://nowjs.com/doc/example 여기서 간단한 채팅 프로그램을 돌려 보았다.
정상적으로 아주 잘 돌아간다.

2011년 12월 27일 화요일

명령어 루프 돌리기

콘솔 상에  date 명령어를 1초마다 반복 실행한다.

while (true); do date; sleep 1; done