dns lookup에 소요된 시간 기록 및 모니터링
단발 스크립트
$ cat /path/to/dnsspeed.sh
#!/bin/bash
# dns lookup speedを計測する
#
# $ bash this.sh ドメイン dnsサーバ
# $ bash this.sh example.com 8.8.8.8
#
# @param (string)[domain] e.g. example.com *required
# @param (string)<dns server> e.g. 8.8.8.8 default: none
#
# @return (int) 成功したら msec の値が返る
if [[ -z $1 ]]; then
echo "dns解決を試すドメインが引数で来ていません。必須です。"
exit 2
else
DOMAIN=$1
fi
if [[ -z $2 ]]; then
DNSSERVER=
else
# dig @8.8.8.8 example.com の形にする
DNSSERVER=@$2
fi
if MYTIME=$((time dig $DNSSERVER $DOMAIN +trace) 2>&1 ) ; then
# 成功したらかかった時間をmsecで返す(timeコマンドから取り出し)
echo $MYTIME | sed -e "s/.*real//" | sed -e "s/user.*//" | sed -e "s/[ms\.]//g"
exit 0
else
# timeout/failは0が返る
echo 0
exit 1
fi
zabbix UserParameter
$ cat dnsspeed.conf
################################################################
# dns lookup speed measuring tool
################################################################
#
# dig コマンドを使ってdns lookup にかかった時間を計測
# 結果がmsecで帰ります。timeoutなら0。
# How to use
# Item:
# type:Zabbix agent
# dnsspeed[domain,<dns server>]
# dnsspeed[example.com]
# dnsspeed[example.com,8.8.8.8]
#
# @param dns lookup したいdomain
# @param dns lookup に使いたいdns server
# @return かかった時間, timeout/failの場合は0
UserParameter=dnsspeed[*],[ -z "$1" ] && echo "Please specity a target domain." || bash /path/to/dnsspeed.sh $1 $2
zabbix trigger
3분 dns 해결할 수 없으면 울린다
0=실패이므로 0 감지
{dnsspeed[example.com].avg(3m)}=0
그래서 블루 라인의 dns server가 흔들리는 것을 알았다는 이야기.
Reference
이 문제에 관하여(dns lookup에 소요된 시간 기록 및 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uturned0/items/14430857205b13cfe548
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ cat /path/to/dnsspeed.sh
#!/bin/bash
# dns lookup speedを計測する
#
# $ bash this.sh ドメイン dnsサーバ
# $ bash this.sh example.com 8.8.8.8
#
# @param (string)[domain] e.g. example.com *required
# @param (string)<dns server> e.g. 8.8.8.8 default: none
#
# @return (int) 成功したら msec の値が返る
if [[ -z $1 ]]; then
echo "dns解決を試すドメインが引数で来ていません。必須です。"
exit 2
else
DOMAIN=$1
fi
if [[ -z $2 ]]; then
DNSSERVER=
else
# dig @8.8.8.8 example.com の形にする
DNSSERVER=@$2
fi
if MYTIME=$((time dig $DNSSERVER $DOMAIN +trace) 2>&1 ) ; then
# 成功したらかかった時間をmsecで返す(timeコマンドから取り出し)
echo $MYTIME | sed -e "s/.*real//" | sed -e "s/user.*//" | sed -e "s/[ms\.]//g"
exit 0
else
# timeout/failは0が返る
echo 0
exit 1
fi
$ cat dnsspeed.conf
################################################################
# dns lookup speed measuring tool
################################################################
#
# dig コマンドを使ってdns lookup にかかった時間を計測
# 結果がmsecで帰ります。timeoutなら0。
# How to use
# Item:
# type:Zabbix agent
# dnsspeed[domain,<dns server>]
# dnsspeed[example.com]
# dnsspeed[example.com,8.8.8.8]
#
# @param dns lookup したいdomain
# @param dns lookup に使いたいdns server
# @return かかった時間, timeout/failの場合は0
UserParameter=dnsspeed[*],[ -z "$1" ] && echo "Please specity a target domain." || bash /path/to/dnsspeed.sh $1 $2
zabbix trigger
3분 dns 해결할 수 없으면 울린다
0=실패이므로 0 감지
{dnsspeed[example.com].avg(3m)}=0
그래서 블루 라인의 dns server가 흔들리는 것을 알았다는 이야기.
Reference
이 문제에 관하여(dns lookup에 소요된 시간 기록 및 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/uturned0/items/14430857205b13cfe548
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{dnsspeed[example.com].avg(3m)}=0
Reference
이 문제에 관하여(dns lookup에 소요된 시간 기록 및 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uturned0/items/14430857205b13cfe548텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)