阿里雲ECS主機自定義進程監控


由於業務的關系我們用的是阿里雲的ECS主機,需要對業務進程需要監控,查看后發現阿里雲提供自定義監控SDK,這有助於我們定制化的根據自身業務來做監控,下面我就根據業務需求來介紹一個簡單的自定義監控配置

PYTHON腳本下載地址:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?spm=5176.7738831.2.2.bELgkj&file=cms_post.sh
shell腳本下載地址:http://imgs-storage.cdn.aliyuncs.com/help/jiankong/cms_post.sh?spm=5176.7738831.2.2.bELgkj&file=cms_post.sh

備注:我用的shell腳本用來部署的

業務需求:我們需要監控ECS服務器中某個進程是否存在,如果小於1,就說明進程關閉,然后根據設定的報警規則報警。

自定義選項

備注:腳本post方法說明

a.命名空間中的數字串,即是用戶的aliuid

b. 監控項名稱,即是用戶創建監控項時填寫的名稱

c. 字段信息,結合監控項,表示具體業務字段的實際意義。 

腳本分析:

vim dubbo_check.sh

#!/bin/bash

#--------------------------------------------

#PATH用來獲取運行命令的路徑

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin

#VAUL用來獲取監控存活數值或狀態

export VAUL=$(ps -ef |grep mysql |grep -w 'usr\/local/mysql\/bin\/mysqld' |grep -v 'grep'|awk '{print $2}' |wc -l)

# HOSTS用來獲取你的主機名

export HOSTS=$(hostname)

#1腳本位置

#2命名空間中的數字串-即是用戶的aliuid

#3即是用戶創建監控項時填寫的名稱

#4字段信息結合監控項,表示具體業務字段的實際意義

#這里需要注意,字段的值一定要與腳本中字段的值一致,否則即使監控的值觸發了你的報警規則,狀態依然是正常的。(我用的字段信息是主機名,因為我的業務和主機名是一樣的,hosts后面的是那個業務報警的狀態,自己定義的)

# 1 2 3 4

/usr/local/cloudmonitor/script/cms_post.sh 1421981683758115 test_web $VAUL dubbo=$HOSTS-dubbo-stop

賦予權限

chmod 777 /usr/local/cloudmonitor/script/cms_post.sh

chmod 777 /usr/local/cloudmonitor/script/dubbo_chenk.sh

cloudmonitor監控:

腳本上傳到任意位置即可,我放在 /usr/local/cloudmonitor/script/ (script需要自己建立)cloudmonitor進程如果沒有安裝或啟動是收集不到的。

增加定時任務每分鍾執行一次,這個和上面的上報頻率要保持一致

* * * * * /bin/bash /usr/local/cloudmonitor/script/tomcat_dubbo_check.sh >/dev/null 2>&1

/etc/init.d/crond restart

報警規則:

報警結果

 這個時候你的手機、釘釘、旺旺、郵件、就都收到報警信息了。

 

 

 

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM