Nagios自帶外掛check_http詳解及用法例項

Michael_DD發表於2014-11-25
Nagios自帶外掛check_http詳解及用法例項


作用:
檢測指定主機上的http服務,可以是http或者https,可以重定向,查詢字串,正規表示式,檢測連結次數,證書過期時間。
用法:
check_http -H | -I [-u ] [-p ]
[-w ] [-c ] [-t ] [-L] [-a auth]
[-b proxy_auth] [-f ]
[-e ] [-s string] [-l] [-r | -R ]
[-P string] [-m :] [-4|-6] [-N] [-M ]
[-A string] [-k string] [-S] [--sni] [-C ] [-T ]
[-j method]

選項:
-H 和-I 必須指定一個或者兩個都寫
-h, --help
顯示幫助資訊
-V, --version
列印版本資訊
-H, --hostname=ADDRESS
主機名,支援虛擬主機,也可以新增埠。
-I, --IP-address=ADDRESS
使用IP地址或者名字(直接使用數字的IP可以不適用dns解析)
-p, --port=INTEGER
Port number (default: 80)
檢測埠,預設是80
-4, --use-ipv4
-6, --use-ipv6
使用ipv4或者ipv6連線
-S, --ssl
透過ssl連結
--sni
啟用SSL/TLS支援主機名擴充套件
-C, --certificate=INTEGER
證書有效地時間
-e, --expect=STRING
用“,”分割的字串列表,預期至少有一個出現在服務響應的第一列。
伺服器響應的第一行:是狀態行,由協議版本,數字狀態碼,和相關的原因文字短語組成。
-s, --string=STRING
在返回的頁面中出現的字串
-u, --url=\'#\'" /span>
訪問資源的路徑,預設是/
-P, --post=STRING
URL encoded http POST data
URL編碼的http post 資料
-j, --method=STRING (for example: HEAD, OPTIONS, TRACE, PUT, DELETE)
設定http方法,例如:OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT.
 
-N, --no-body
只讀取檔案頭部
-M, --max-age=SECONDS
文件過期時間
-T, --content-type=STRING
指定POST資料的內容型別的頭部媒體型別
Content-Type指定了下層資料的媒體型別
-l, --linespan
允許正規表示式跨行 必須在-R或者-r前面
-r, --regex, --ereg=STRING
對正規表示式字串搜尋頁面
-R, --eregi=STRING
對於不區分大小寫的搜尋頁面的正規表示式的字串
--invert-regex
如果搜尋到就返回critical,如果沒有就返回OK,和-r/-R結合。不可以和-s結合使用。

-a, --authorization=AUTH_PAIR
使用者名稱密碼 基於網站的基本認證 (必須輸入賬號密碼才可以訪問的網站,需要HTTP Basic Authentication的URL的時候,如果你沒有提供使用者名稱和密碼,伺服器就會返回401,如果你直接在瀏覽器中開啟,瀏覽器會提示你輸入使用者名稱和密碼)

-b, --proxy-authorization=AUTH_PAIR
代理伺服器的使用者名稱密碼
-A, --useragent=STRING
在http頭部傳送的字串,“使用者代理”
-k, --header=STRING
Any other tags to be sent in http header. Use multiple times for additional headers
任何其他標記中被髮送http頭
-L, --link
包裝輸出html連線
-f, --onredirect=
如何處理重定向頁面
-m, --pagesize=INTEGER<:integer>
頁面大小需要 最小:最大(單位:bytes)
-w, --warning=DOUBLE
告警響應時間
-c, --critical=DOUBLE
傳送危險警告的響應時間
-t, --timeout=INTEGER
連線超時時間
-v, --verbose
顯示命令列除錯的細節,預設被nagios截斷。
注意:
這個外掛將試圖開啟一個HTTP連線的主機,成功連線則返回state_ok;拒絕或者連線超時,則返回STATE_CRITICAL,其他錯誤則返回STATE_UNKNOWN.成功連線,但是返回資訊不正確則傳送STATE_WARNING.如果訪問一個虛擬主機服務,則需要在主機頭使用全域名作為【host_name】。

例項:
1、-u測試頁面 是否可以到開 可以用相對路徑和絕對路徑
-H -I 有一個就可以
相對路徑
#./check_http -H www.****.com -u /url1/url2/index.html
絕對路徑
#./check_http -H www.****.com -u ****.com/url1/url2/index.html
埠,預設就是80
#./check_http -H www.****.com -p 80 -u ****.com/url1/url2/index.html
使用數字IP
#./check_http -I xxx.xxx.xxx -u /url1/url2/index.html

2、加密傳輸 -S
# ./check_http -H "log.gw.com.cn" -S
Connection refused
HTTP CRITICAL - Unable to open TCP socket

3、測試伺服器的http版本協議或者狀態返回碼 -e
# ./check_http -I 114.80.136.138 -k "HOST:log.gw.com.cn" -e "HTTP/1.1"
HTTP OK: Status line output matched "HTTP/1.1" - 3088 bytes in 0.206 second response time |time=0.205964s;;;0.000000 size=3088B;;;0
# ./check_http -I 114.80.136.138 -k "HOST:log.gw.com.cn" -e "HTTP/1.0"
HTTP CRITICAL - Invalid HTTP response received from host: HTTP/1.1 200 OK

4、搜尋返回的頁面中的內容 -s
# ./check_http -I 114.80.136.138 -k "HOST:log.gw.com.cn" -s "Piwik"
HTTP OK: HTTP/1.1 200 OK - 3088 bytes in 0.196 second response time |time=0.196134s;;;0.000000 size=3088B;;;0
$ curl 114.80.136.138 -H "host:log.gw.com.cn" 顯示的頁面中出現的“Piwik”

5、以使用者名稱密碼訪問一個需認證的頁面 -a;
# ./check_http -I 10.15.62.38 -u /nagios/
HTTP WARNING: HTTP/1.1 401 Authorization Required - 726 bytes in 0.019 second response time |time=0.019393s;;;0.000000 size=726B;;;0
# ./check_http -I 10.15.62.38 -u /nagios/ -a nagiosadmin:nagios
HTTP OK: HTTP/1.1 200 OK - 917 bytes in 0.066 second response time |time=0.066009s;;;0.000000 size=917B;;;0

6、連線超時的時間 -t;
# ./check_http -I 10.15.62.38 -t 1
HTTP OK: HTTP/1.1 200 OK - 38056 bytes in 0.017 second response time |time=0.017460s;;;0.000000 size=38056B;;;0

7、定義warning和critical的告警閥值:-w和-c;

8、檢測返回的頁面大小 -m ;
# ./check_http -H "log.gw.com.cn" -I 114.80.136.151 -m 10:400
HTTP WARNING: HTTP/1.1 200 OK - page size 3128 too large - 3128 bytes in 0.223 second response time |time=0.223207s;;;0.000000 size=3128B;10;0;0
返回的頁面是3128 bytes,超過了最大限制400,發出了報警。

9、檢測證書是否過期 -C
#check_http -H -C 14
證書過期時間大於14天 返回OK狀態;證書還有0-14天過期,返回警告資訊;證書已經過期,返回緊急狀態。

10、設定返回的http的頭部資訊 -A
# ./check_http -H "log.gw.com.cn" -v
GET / HTTP/1.1
User-Agent: check_http/v1.4.16 (nagios-plugins 1.4.16)
Connection: close
Host: log.gw.com.cn
# ./check_http -H "log.gw.com.cn" -v -A "check_http"
GET / HTTP/1.1
User-Agent: check_http
Connection: close
Host: log.gw.com.cn

11、只顯示頭部資訊,不顯示頁面資訊。 -N
# ./check_http -H "log.gw.com.cn" -I 114.80.136.151 -N
HTTP OK: HTTP/1.1 200 OK - 1460 bytes in 0.219 second response time |time=0.218590s;;;0.000000 size=1460B;;;0
# ./check_http -H "log.gw.com.cn" -I 114.80.136.151
HTTP OK: HTTP/1.1 200 OK - 3128 bytes in 0.220 second response time |time=0.220288s;;;0.000000 size=3128B;;;0

12、檢測文件修改時間 -M
# ./check_http -I 114.80.136.138 -k "HOST:log.gw.com.cn" -M 1
HTTP CRITICAL: HTTP/1.1 200 OK - Document modification date unknown - 3088 bytes in 0.197 second response time |time=0.196606s;;;0.000000 size=3088B;;;0 文件修改時間未知

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1346286/,如需轉載,請註明出處,否則將追究法律責任。

相關文章