教你如何監控網站URL是否正常
監控網站URL是否正常最常見的方法莫過於wget和curl命令了,這兩個命令都是非常強大的,強大到網友檢視幫助都無從選擇的地步了。
1.1 wget命令
wget命令的引數非常多,至少也有數十個, 但是運維工作中常用的並不多,老男孩老師把最有用的列表如下。
wget命令 | 下載網頁或檔案 |
--spider | 模擬爬蟲的行為去訪問網站,但不會下載網頁 |
-q, --quiet | 安靜的訪問,禁止輸出,類似-o /dev/null功能 |
-o, --output-file=FILE | 記錄輸出到檔案 |
-T, --timeout=SECONDS | 訪問網站的超時時間 |
-t, --tries=NUMBER | 當網站異常時重試網站的次數 |
實際監控方法如下:利用wget命令返回值確定網站是否正常
[root@oldboy ~]# wget --spider -T 5 -q -t 2 www.oldboyedu.com
[root@oldboy ~]# echo $? #<==利用返回值確定網站是否正常。
0
1.2 curl命令
curl命令的引數比wget的引數還多,但運維中常用的引數也並不多,因此也是列表如下:
curl命令 | 訪問網站url |
-I/--head | 顯示響應頭資訊 |
-m/--max-time <seconds> | 訪問超時的時間 |
-o/--output <file> | 記錄訪問資訊到檔案 |
-s/--silent | 沉默模式訪問,就是不輸出資訊 |
-w/--write-out <format> | 以固定特殊的格式輸出,例如:%{http_code},輸出狀態碼 |
實際監控方法如下:
1、利用curl命令返回值確定網站是否正常
[root@oldboy ~]# curl -s -o /dev/null www.oldboyedu.com
[root@oldboy ~]# echo $?
0
2、獲取命令執行後的狀態碼(200表示正常)
[root@oldboy ~]# curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null www.baidu.com
200
1.3 開發Shell指令碼實現監控指定的URL是否正常
解答:
方法1:
#!/bin/sh
function usage() { #<==幫助函式
echo $"usage:$0 url"
exit 1
}
function check_url() { #<==檢測URL函式。
wget --spider -q -o /dev/null --tries=1 -T 5 $1
#<==採用wget返回值方法,這裡的$1就是函式傳參。
#curl -s -o /dev/null $1 #<==採用curl返回值方法也是可以的。
if [ $? -eq 0 ]
then
echo "$1 is yes."
exit 0
else
echo "$1 is fail."
exit 1
fi
}
function main() { #<==主函式。
if [ $# -ne 1 ] #<==如果傳入的多個引數,則列印幫助函式,提示使用者。
then
usage
fi
check_url $1 #<==接收函式的傳參,即把結尾的$*傳到這裡。
}
main $* #<==這裡的$*就是把命令列接收的所有引數作為函式引數傳給函式內部,常用手法。
實踐結果:
[root@oldboy ~]# sh checkurl.sh www.oldboyedu.com
www.oldboyedu.com is ok
[root@oldboy ~]# sh checkurl.sh www.baidu.com
www.baidu.com is ok
[root@oldboy ~]# sh checkurl.sh 10.0.0.8
10.0.0.8 is fail
方法2:
[root@oldboy ~]# cat checkurl1.sh
#!/bin/bash
##############################################################
# File Name: checkurl.sh
# Version: V1.0
# Author: oldboy
# Organization: www.oldboyedu.com
# Created Time : 2018-06-07 18:29:19
##############################################################
usage(){
echo "Usage:$0 url"
exit 1
}
checkurl(){
local num=`curl -I -m 5 -s -w "%{http_code}\n" -o /dev/null|grep 200|wc -l`
if [ $num -eq 1 ] #<==採用獲取狀態碼,並轉為數字的方式判斷,如果301認為正確也可以加上egrep過濾。
then
echo "$1 is ok"
else
echo "$1 is fail"
fi
}
main(){
if [ $# -ne 1 ]
then
usage
fi
checkurl $1
}
main $*
實踐結果:
[root@oldboy ~]# sh checkurl.sh www.oldboyedu.com
www.oldboyedu.com is ok
[root@oldboy ~]# sh checkurl.sh www.baidu.com
www.baidu.com is ok
[root@oldboy ~]# sh checkurl.sh 10.0.0.8
10.0.0.8 is fail
如果網友能讀懂本文,相信以後再寫監控網站URL的指令碼就會很輕鬆了。
公眾號推薦:
相關文章
- 使用Shell指令碼程式監控網站URL是否正常指令碼網站
- shell指令碼:監控MySQL服務是否正常指令碼MySql
- 如何使用 Blackbox Exporter 監控 URL?Export
- 網站監控網站劫持,網站監控網站劫持有哪些需要注意的網站
- centos 監控web站點是否500 指令碼CentOSWeb指令碼
- 網站安全監控的方法講解,網站安全監控技術網站
- 網站url修改,如何修改網站URL並保持SEO效果網站
- 如何進行網站的真實使用者監控(RUM)?怎麼進入監控網站網站
- 教你如何使用樹莓派搭建區域網監控樹莓派
- upptime:使用GitHub Actions監控你的網站健康監控Github網站
- 正常執行時間監控
- 運維文件:網站監控系統運維網站
- 網站監控工具有哪些,8款好用的監控工具推薦網站
- 相比於本地部署的網站監控軟體,SaaS類的網站監控工具有什麼優勢?網站
- 乾貨 | 雲解析DNS之網站監控DNS網站
- Prometheus監控規則推薦網站🔰Prometheus網站
- 網站內容監控工具:Website Watchman for Mac網站WebMac
- 網站經常崩潰,企業應該如何做好監控?網站
- 京東架構師解析URL監控架構
- 如何檢視 Apache 模組是否正常Apache
- 如何使用 IFTTT 零成本建立網站內容監控系統?網站
- yii2 日誌自動傳送到釘釘 實時監控服務是否執行正常
- php無法正常修改網站,如何排查和解決PHP網站修改問題PHP網站
- shell監控服務程式是否啟動
- 國內免費的網站監控工具測評網站
- 如何優雅的使用TenSunS管理Blackbox站點監控
- 呼叫鏈監控 CAT 之 URL埋點實踐
- 如何監聽URL的變化?
- 10多個 Linux 系統管理員必備的監控工具、常用的網站監控工具Linux網站
- 網站監控管理網站,網站監控管理網站有哪些,好用推薦網站
- 手把手教你使用 Prometheus 監控 JVMPrometheusJVM
- 如何監控ElasticsearchElasticsearch
- 乾貨:教你如何監控 Java 執行緒池執行狀態Java執行緒
- 【效能監控】如何有效監測網頁靜態資源大小?網頁
- 怎麼看網站是否被黑防止網站被黑網站
- 手把手教你搭建高逼格監控平臺,第三彈,監控JVMJVM
- 手把手教你搭建高逼格監控平臺,第二彈,監控mysqlMySql
- 加油站監控ai智慧分析AI