Nagios自帶外掛check_http詳解及用法例項
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 文件修改時間未知
作用:
檢測指定主機上的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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nagios check_http命令用法iOSHTTP
- DES演算法例項詳解演算法
- OD外掛詳解
- spket外掛詳解
- Nagios外掛開發指導iOS
- Nagios nsca外掛程式突然死掉iOS
- Nagios外掛編寫及使用nrpe執行root命令iOS
- Ubuntu下nagios安裝pnp4nagios外掛UbuntuiOS
- Web UI 自動化單個xpath抓取外掛詳解WebUI
- nagios監控頻寬外掛薦iOS
- Oracle minus用法詳解及應用例項Oracle
- nagios監控流量大小的外掛iOS
- phpcmsV9手機模組外掛,自帶模板PHP
- win10自帶瀏覽器能裝外掛嗎 win10自帶瀏覽器怎麼安裝外掛Win10瀏覽器
- jQuery外掛開發模式詳解jQuery模式
- Gradle自定義外掛詳解Gradle
- Android Handler詳細使用方法例項Android
- nagios 外掛引發的 資料庫告警iOS資料庫
- 10個最實用的個時間軸外掛(帶詳細說明)
- Fluttify輸出Flutter外掛工程詳解Flutter
- MyBatis(八):MyBatis外掛機制詳解MyBatis
- Vue.js 外掛開發詳解Vue.js
- SQL Server資料庫中Substring函式的用法例項詳解SQLServer資料庫函式
- nagios配置過程詳解iOS
- Nagios配置檔案詳解iOS
- SOFATracer 外掛埋點機制詳解
- IDEA的JRebel外掛使用詳解Idea
- jQuery上傳外掛Uploadify使用詳解jQuery
- WordPress外掛開發例項教程 - 版權外掛
- /etc/fstab 引數詳解及如何設定開機自動掛載
- nagios外掛之登陸SBC監控電話數iOS
- EventBus詳解及簡單例項單例
- 合成複用原則詳解篇(附圖解及原始碼例項)圖解原始碼
- 超詳細帶你入門開發一個超實用的瀏覽器外掛瀏覽器
- webpack4配置詳解之常用外掛分享Web
- Swipe 移動端滑動外掛使用詳解
- Xcode常用外掛使用及自動生成幫助文件XCode
- 自研WPF外掛系統(沙箱執行及熱插拔)