1. 程式人生 > >監控web db三種方法

監控web db三種方法

狀態 host 問題 最好 ntp 是不是 cti connect 頁面

一監控web方法
1.端口
本地netstat -lantup | grep 3306| wc -l
ss -l lntp |grep 3306 | wc -l
lsof -i :3306
遠程(就是)
echo -e "\n" | telnet IP PORT |grep Connection | wc -l
nmap nmap www.baidu.com -p 80 | grep open | wc -l 端口開放的只是說明
rpm -qa | nc
2.進程
本地 ps -ef |grep 進程| wc -l
模擬用戶進行判斷wget curl 下載文本是否可以或者狀態碼
數據庫的可以通過-e 判斷返回值或者返回內容,

    if [ `netstat -lnt|grep 3306| ec -l ` -eq 0 ]
    if [ `ps -ef |grep mysql|grep -v grep| wc -l` | -gt 0 ]
    if [ `nc -w 2 localhost 22 &>/dev/null&&echo ok|grep ok| wc -l` -gt 0 ]
    if [ `nmap localhost -p 22 2>/dev/null | grep open |wc -l ` -gt 0 ]
    if [ `netstat -lntup | grep mysqld |wc -l ` -gt 0 ]
    if [ `lsof -i tcp:3306 | wc -l` -gt 0 ]
    lsof -i:端口 或者lsof -i tcp:端口
    反引號可以寫成$() 這樣寫最好,要不反引號容易丟掉

    上面的問題在比對的時候-eq如果是空值和數字比較會報錯,所以用-eq的時候一定要考慮空值
    不要取值進行比較,一定要取行進行比較 這樣省事

    if [ "`curl -l -s -o -w "%{http_code}\n" http://localhost `" = "200" ] /dev/null -w 
    if [ `curl -I http://127.0.0.1 2>/dev/null |head -l | grep 200 | wc -l ` -eq 1 ]
    if [ `curl -s http://127.0.0.1 &>/dev/null&&echo $?`" ="0" ]

    curl -s http://localhost &>/dev/null
    然後去判斷上一個命令的執行結果 $?
    另外一個是故意在網站上放一個頁面,然後去取下來檢查裏邊的東西是不是固定的 

監控web db三種方法