您好,登錄后才能下訂單哦!
推送的需要的機子多最好使用數據庫,機子少就寫死變量了,在被巡檢主機上新建一個普通用戶,被巡檢主機免安裝,增加ansible-hosts新加巡檢主機,多個租戶可以用docker隔離,
擴展可以用yml role代碼復用配上數據庫就很方便了,現在更新巡檢腳本只要更新ansible-server上的腳本,增加新功能。
這里需要被巡檢主機免安裝就沒用數據庫記錄,yml要用copy模塊后用sh執行腳本,用script模塊會找不到執行路徑
還寫了一套用于監控告警的腳本,還在繼續寫。。。
#!/bin/bash #yejunhai? #2020-2-27 #巡檢并發連接數?發送企業微信告警?定期巡檢通知 #告警閥值可以自定義 #定義時間 cur_time(){ date?"+%Y-%m-%d?%H:%M:%S" } wx(){ #生成告警腳本?發送到企業微信 sh_name=$0 cat?>?$sh_name.json?<<-EOF curl?'填寫微信機器人Webhook地址:'?\ ???-H?'Content-Type:?application/json'?\ ???-d?' ???{ ????????"msgtype":?"text", ????????"text":?{ ????????????"content":?"$1", ????????????"mentioned_mobile_list":["$2"] ????????} ???}' EOF #發送告警腳本,發送成功后清空腳本 sh?$sh_name.json?&&?echo?"Send?successfully"?>?$sh_name.json } cpu_usage(){ top?-n?1?-d?1|awk?'/%Cpu/{printf("%.2f%\n",(100-$8))}' } #獲取本機IP? ip=`ifconfig?eth0|awk?'/inet?/{print$2}'` #監控端口?并發數告警閥值?獲取當前并發數 port=8303 #并發數告警閥值? max_number=2000 #獲取當前并發數 number=`netstat?-ant|grep?-w?"$ip:$port"|grep?"ESTABLISHED"|wc?-l` mem=`free|awk?'/Mem:/{printf("%.2f%\n",($2-$4)/$2*100)}'` #磁盤讀: read=`iostat|awk?'/.da/{print$3?"kb/s"}'` #磁盤寫: write=`iostat|awk?'/.da/{print$4?"kb/s"}'` #IO利用率: io=`iostat?-x|awk?'/.da/{print$14"%"}'` ORACLE_BASE=/u01/app/oracle;?export?ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12.1.0/client_1;?export?ORACLE_HOME PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin export?PATH #數據庫用tnsping?因為有4臺rac的VIP,2個實例,這邊沒用數據庫只能用字典了,還是懶 declare?-A?instances instances=([192.168.1.1]="a"?[192.168.1.2]="a"?[192.168.56.195]="b"?[192.168.56.196]="b") for?db_ip?in?$(echo?${!instances[*]}) do ????????status=`tnsping?$db_ip:1521/${instances[$db_ip]}|grep?"OK"|wc?-l` ????????if?[?"$status"?-eq?0?];then ????????????????database="$db_ip:1521/${instances[$db_ip]}?Error" ????????????????break ????????elif?[?"$status"?-eq?1?];then ????????????????database="Successfully" ????????fi done #后續需要多租戶使用在改造成函數調用 process=tomcat process_status=`ps?-aux|grep?"$process"|grep?-v?"grep?--color=auto?$process"|wc?-l` if?[?"$process_status"?-eq?0?];then ??tomcat_process="Disabled" else ??tomcat_process="Enable" fi for?disk_usage?in?`df?-P|awk?'NR>=2{print$5}'|tr?-d?"%"` do ??if?[?"$disk_usage"?-ge?90?];then? ????disk_status="\n磁盤剩余不足?`df?-h|grep?-w?$disk_usage`" ??fi done wx?"$(cur_time)?巡檢主機?\n$(hostname)?$ip\n端口:?$port?并發連接數:?$number?\nCPU利用率:?$(cpu_usage)?\n內存利用率:?$mem?\nIO利用率:?$io?\n數據庫連接:$database\ntomcat進程:$tomcat_process?$disk_status"
-?hosts:?linux ??remote_user:?centos ??gather_facts:?false ??tasks:? ??-??name:?copy?script?remote?host ?????copy:?src=/root/check?dest=/home/centos/check ??-??name:?execution?script ?????command:?sh?/home/centos/check
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。