中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cronmon 定時任務執行狀態監控

發布時間:2020-04-08 22:14:25 來源:網絡 閱讀:958 作者:bruceye777 欄目:編程語言

       cronmon是一個計劃任務(定時任務)監控系統,可以對循環執行的程序和腳本進行監控告警,當其未按照預期執行時,發送郵件到對應郵箱進行通知。同時可以將監控任務劃分到不同業務下面,每個業務可以分配不同的通知人,建立業務、通知人和監控任務的多層級關系。
 
       通過以一定的間隔發送HTTPS請求到特定的URL實現監控。如果URL未按時接受到請求,對應的業務通知人則會收到告警。
 
       也就是說,你可以在你的計劃任務或者程序腳本中,根據執行結果進行條件判斷,如果成功則發送請求到cronmon,這樣的任務可以包括數據庫備份、安全掃描、數據同步等任何你認為重要的,需要保證其在指定時間間隔完成的任務。
   
   
主要功能介紹

   

  • 登錄;

cronmon 定時任務執行狀態監控

  • 登錄之后,看到的是首頁:包括業務、通知人、任務和日志相關匯總信息,以及圖表展示一段時間API請求數據;

cronmon 定時任務執行狀態監控

  • 任務管理相關操作:這里是系統最核心的功能,監控任務管理,包括新建,編輯,刪除,監控日志查看。;

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

  • 系統管理相關操作:系統用戶角色分為二種,擁有所有權限的系統管理員和綁定若干業務的業務管理員。在這里,你可以新建、編輯、刪除用戶以及業務權限分配;

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控
  
API調用

  
目前API僅針對監控任務,包括獲取所有監控任務和基于關鍵字進行的任務過濾,json格式返回。

  • 獲取所有監控任務

cronmon 定時任務執行狀態監控

  • 按指定關鍵字獲取任務(業務名、任務名和任務URL)

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

公共參數包括page(顯示第幾頁)和length(每頁顯示多少記錄)
  
如何使用監控鏈接

  
在不同情況下調用任務監控URL的寫法

  • crontab寫法
# system status check
20 * * * * cd /path/to/systemStatusCheck && ./systemStatusCheck.sh > systemStatusCheck.sh.cron.log 2>&1 && curl -kfsS --retry 3 --connect-timeout 10 --ipv4 https://cronmon.yoursite.io/api/monlink/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx >> systemStatusCheck.sh.cron.log 2>&1
  • bash寫法
curl -kfsS --retry 3 --connect-timeout 10 --ipv4 https://cronmon.yoursite.io/api/monlink/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • python寫法
import requests
requests.get('https://cronmon.yoursite.io/api/monlink/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')

  
生產環境

  
本部分是針對生產環境一些額外的配置優化,包括日志表自動分區腳本、程序管理服務化(linux)、nginx配置和日志輪轉配置。

  • 服務啟停

以CentOS為例,首先編輯相關變量

cronmon 定時任務執行狀態監控

然后將啟動腳本(production/init.d/cronmon)放入/etc/init.d目錄

$ service cronmon help
Usage: cronmon {start|stop|restart|reload|status|help}
$ chkconfig --level 35 cronmon on  # 加入開機啟動
  • 日志分區

針對日志表數據,為了方便管理和提高效率,使用mysql分區,首先導入存儲過程創建sql文件(production/cronmonPartition.sql),
腳本首先修改表結構,添加了復合主鍵(id+create_datetime),然后創建了所需的5個存儲過程,腳本基于zabbix分區創建腳本進行修改,執行腳本后結果如下:

cronmon 定時任務執行狀態監控

cronmon 定時任務執行狀態監控

對應的shell腳本

cronmon 定時任務執行狀態監控

對應的crontab配置

# cronmon mysql partition
15 0 * * * cd /path/to/cronmonMysqlPartition && ./cronmonMysqlPartition.sh > cronmonMysqlPartition.sh.cron.log 2>&1 && curl -kfsS --retry 3 --connect-timeout 10 --ipv4 https://cronmon.yoursite.io/api/monlink/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx >> cronmonMysqlPartition.sh.cron.log 2>&1
  • WebService配置

以nginx為例

cronmon 定時任務執行狀態監控

  • 日志輪轉

以logrotate為例

cronmon 定時任務執行狀態監控
  
壓力測試

  
本系統主要的壓力是客戶端對監控URL的請求,而網站本身操作的壓力以及API請求的壓力相對較小,有鑒于此,針對此部分進行了壓力測試。

  • 配置調整

uwsgi相關配置

[uwsgi]
listen=10240
processes=8
gevent=100

系統相關配置

# echo 'net.core.somaxconn=4096' >> /etc/sysctl.conf
  • 壓測表現

使用ab對監控鏈接進行壓力測試,10000并發無錯誤(目前只測試到10000并發,未測試更高并發),客戶端和服務端網絡延遲在11ms左右:

$ ab -n 50000 -c 10000 https://cronmon.yoursite.com/api/monlink/ba60afc4-f162-11e8-a56a-001b7872e686

cronmon 定時任務執行狀態監控

獲取幫助

如果想進一步了解安裝配置,數據庫變更和系統網站的功能可以點擊github

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉环县| 濮阳县| 余江县| 平定县| 余干县| 蓝田县| 互助| 雷波县| 彰化县| 都兰县| 华容县| 涟源市| 马鞍山市| 阿图什市| 普格县| 崇礼县| 灵宝市| 务川| 璧山县| 土默特左旗| 内黄县| 克拉玛依市| 武义县| 香格里拉县| 天长市| 上饶县| 台前县| 镇平县| 龙岩市| 定远县| 正蓝旗| 内丘县| 紫阳县| 武鸣县| 赣州市| 张家口市| 溧水县| 娱乐| 宣恩县| 河津市| 思茅市|