일부 고객사의 요청에 의해 넷스케일러에서 제공하는 SNMP 정보 외에 다른 정보를 주기적으로 별도의 파일에 기록하여 제공할 수 있는데, 이 방법은 기본적으로 제공하는 기능이 아닌 편법이기 때문에 권장하지는 않지만 꼭 필요할 때 활용할 수는 있을 것 같다.
[샘플]. VPN 사용자의 접속수를 5분 주기로 별도의 파일로 저장
LogDir="/var/temp/vpnuser" CurrentDate=`date` FinalDate=`date -j -f "%a %b %d %T %Z %Y" "${CurrentDate}" +"%Y-%m-%d %T"` FileDate=`date -j -f "%a %b %d %T %Z %Y" "${CurrentDate}" +"%Y-%m-%d"` vpn=`ssh nsroot@localhost 'sh vpn vserver' | sed -n '/Current AAA Users/p' | nawk '{print $4}'` #sh vpn vserver 명령에 대한 결과 중 "Current AAA Users"라인만 프린트한 후 awk 명령어로 특정 field에 대한 string 값을 출력한다. if [ ! -e "${LogDir}/${FileDate}.txt" ]; then echo "TIME|Current VPN Users" >> ${LogDir}/${FileDate}.txt fi `echo "${FinalDate}|${vpn}" >> ${LogDir}/${FileDate}.txt` |
이렇게 생성된 스크립트에 대해서 실행권한을 부여 후 넷스케일러의 SHELL MODE에서 CRONTAB을 활용하여 주기적인 배치 잡을 생성하면 필요한 데이터를 얻을 수 있다. 위 스크립트는 일반적인 스크립트이며, egrep이나 awk를 이용하여 보다 많은 정보를 수집할 수도 있다. 해당 스크립트를 자동으로 실행하기 위해서는 넷스케일러의 SHELL MODE에서 인증서 기반의 SSH 로그온 방법을 사용해야 합니다.
[넷스케일러의 인증서 기반 SSH로그온 방법]
SSH 로그온 시 비밀번호를 사용하지 않고 인증서를 이용하여 신뢰된 사용자로 등록하는 방법이며, 자세한 방법은 아래의 링크를 참조할 수 있다.
cd ~ mkdir .ssh 2> /dev/null cd /root/.ssh ssh-keygen -b 1024 -f identity -P '' -t dsa # For each "target" Netscaler you wish to be able to login without passwords do: scp identity.pub nsroot@<ip of target>:/root/.ssh/identity.pub # enter password when prompted for the remote box On each of the target machines, then do the following: cd ~/.ssh cat identity.pub >> authorized_keys #위 과정을 모드 마치면 넷스케일러에 SSH로 비밀번호 인증없이 접속이 가능함. |
egrep이나 awk에 대한 추가적인 정보는 인터넷에서 많이 제공하고 있으니 참조하면 충분히 유용한 스크립트를 만들 수 있다.
PS : 이 방법은 권장하는 방법이 아닌 편법으로 제공되는 방법이기 때문에 필요 사용 전에 유념하셔야 합니다.
댓글 없음:
댓글 쓰기