基於飛信對系統計劃任務crontab報警監控
網站需要定時更新計劃任務排程php去產生更新資料,如果php不能被更新排程產生資料那麼報警,前提是php頁面能正常被訪問到,通過curl等去觸發一下,類似於啟用php程式。
shell指令碼:
apache編碼兩種不同 一種直接curl可以獲得到頁面資訊,另外一種需要轉字符集編碼。
A)
while read i
do
GET_REPORT=$(curl $i | grep [成功])
if [ “$?” -eq “0” ]
then
echo “OK”
else
/wwwroot/baojing/fetion –mobile=15956xxxx –pwd=254605 –to=15956xxxx –msg-utf8=”$i is DOWN!”
fi
done<0.txt
B)
while read i
do
if curl $i|grep -q “成功”
then
echo ok
else
/wwwroot/baojing/fetion –mobile=15956xxx –pwd=254605 –to=159569xxxx –msg-utf8=”$i is DOWN!”
fi
done<0.txt
A)和 B)兩種用法匹配應該是有區別的但是我在測試的沒發現區別,[成功] 這裡應該grep的結果裡絕對的只允許成功二字才算正確,”成功” 這裡匹配的結果包含 成功 即可算正確的。
註釋:0.txt 這個檔案裡是php的url 要啟用這些url產生資料更新。因為我去啟用php程式化那麼php頁面會出現成功的關鍵字。我根據頁面的提示來匹配,匹配不到關鍵字就報警。
下面這種是需要轉換字符集編碼的:
while read i
do
if curl $i |iconv -f gb2312 -t utf-8|grep -q “OK”
then
echo ok
else
/wwwroot/baojing/fetion –mobile=159569xxxx –pwd=254605 –to=159569xxxx –msg-utf8=”$i is DOWN!”
fi
done<1day.txt
註釋:1day.txt 這個檔案裡是每天需要定時啟用的php url。
(註釋:/wwwroot/baojing/fetion –mobile=159569xxxx –pwd=254605 –to=159569xxx –msg-utf8=”$i is DOWN!” 這個地方是飛信的路徑,通過飛信來實時報警到手機的。)
shell指令碼:
apache編碼兩種不同 一種直接curl可以獲得到頁面資訊,另外一種需要轉字符集編碼。
A)
while read i
do
GET_REPORT=$(curl $i | grep [成功])
if [ “$?” -eq “0” ]
then
echo “OK”
else
/wwwroot/baojing/fetion –mobile=15956xxxx –pwd=254605 –to=15956xxxx –msg-utf8=”$i is DOWN!”
fi
done<0.txt
B)
while read i
do
if curl $i|grep -q “成功”
then
echo ok
else
/wwwroot/baojing/fetion –mobile=15956xxx –pwd=254605 –to=159569xxxx –msg-utf8=”$i is DOWN!”
fi
done<0.txt
A)和 B)兩種用法匹配應該是有區別的但是我在測試的沒發現區別,[成功] 這裡應該grep的結果裡絕對的只允許成功二字才算正確,”成功” 這裡匹配的結果包含 成功 即可算正確的。
註釋:0.txt 這個檔案裡是php的url 要啟用這些url產生資料更新。因為我去啟用php程式化那麼php頁面會出現成功的關鍵字。我根據頁面的提示來匹配,匹配不到關鍵字就報警。
下面這種是需要轉換字符集編碼的:
while read i
do
if curl $i |iconv -f gb2312 -t utf-8|grep -q “OK”
then
echo ok
else
/wwwroot/baojing/fetion –mobile=159569xxxx –pwd=254605 –to=159569xxxx –msg-utf8=”$i is DOWN!”
fi
done<1day.txt
註釋:1day.txt 這個檔案裡是每天需要定時啟用的php url。
(註釋:/wwwroot/baojing/fetion –mobile=159569xxxx –pwd=254605 –to=159569xxx –msg-utf8=”$i is DOWN!” 這個地方是飛信的路徑,通過飛信來實時報警到手機的。)
再把這個指令碼的執行路徑放到crontab裡設定定時執行即可(指令碼和*.txt為同一目錄)。
本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/456569
相關文章
- Prometheus監控報警系統Prometheus
- 【python 監控報警】python自動發微信監控報警Python
- linux中crontab計劃任務怎麼刪除?linux中crontab計劃任務的刪除方法Linux
- 程式與計劃任務管理(at 及 crontab)
- crontab 新增計劃任務的時候報錯疑問?
- 基於Nginx+Keepalived的LB服務監控(郵件報警)Nginx
- 從零搭建Prometheus監控報警系統Prometheus
- Linux 學習筆記--任務計劃 crontabLinux筆記
- 基於websocket的celery任務狀態監控Web
- Linux基礎學習-crond系統計劃任務Linux
- PowerShell管理系統計劃任務
- (畢業設計資料)基於51微控制器無線水塔水箱液水位監控報警系統
- 智慧警務視覺化應用監控系統搭建視覺化
- 「服務端」node服務的監控預警系統架構服務端架構
- 基於系統融合的統一監控平臺設計
- 使用Vmalert監控報警
- crontab任務
- 生產區域人數超員監控報警系統
- 我們的系統應該配置哪些監控報警項?
- 基於 Zabbix 系統監控 Windows、Linux、VMwareWindowsLinux
- 基於 Prometheus 的監控系統實踐Prometheus
- CentOS 配置OOM監控報警CentOSOOM
- 智慧校園:資料機房動環監控報警系統
- 支援全平臺的伺服器監控報警系統 Shinken伺服器
- 監控報警系統的指標、規則與執行閉環指標
- 於 HTML5 WebGL 的民航客機飛行監控系統HTMLWeb
- .Net Core服務監控報警指標上報Prometheus+Grafana指標PrometheusGrafana
- crontab定時任務
- Linux 的計劃任務(運維基礎|可用於提權)Linux運維
- 裝置故障監控報警運維工單系統有什麼功能運維
- 技術分享| 如何使用Prometheus實現系統監控報警郵件通知Prometheus
- 任務型對話系統
- 網路配置及程序-系統效能和計劃任務
- 修改glogin.sql引發的生產系統監控的虛假報警SQL
- 650【畢設課設】基於微控制器大氣壓監測報警系統電路方案設計
- 基於 prometheus 的微服務指標監控Prometheus微服務指標
- Linux crontab 定時任務Linux
- 前端監控基礎篇 — Docker + Sentry 搭建前端監控系統前端Docker
- 基於各種感測器的空調系統監控