运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
生活随笔
收集整理的這篇文章主要介紹了
运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
現(xiàn)在開(kāi)始介紹php+mysql+shell監(jiān)控系統(tǒng) 1、目的 此監(jiān)控系統(tǒng)主要是通過(guò)php+mysql+shell的方式,通過(guò)shell腳本對(duì)各個(gè)機(jī)器的其各個(gè)服務(wù)進(jìn)行監(jiān)控,達(dá)到及時(shí)的了解其各個(gè)應(yīng)用服務(wù)的狀態(tài)(如果宕掉與啟動(dòng)),在檢測(cè)應(yīng)用服務(wù)宕掉時(shí),記錄在日志里與mysql數(shù)據(jù)庫(kù)服務(wù)器里,同時(shí)進(jìn)行服務(wù)宕掉的郵件提示,并自動(dòng)啟動(dòng)宕掉的應(yīng)用服務(wù);在檢測(cè)應(yīng)該服務(wù)啟動(dòng)時(shí),同時(shí)進(jìn)行服務(wù)啟動(dòng)的郵件提示,所有的監(jiān)控內(nèi)容都能在php制作的web里進(jìn)行瀏覽,同時(shí)能根據(jù)mysql里的數(shù)據(jù),把資源監(jiān)控?cái)?shù)據(jù)視圖化,在瀏覽數(shù)據(jù)的時(shí)候,更方便。 2、實(shí)現(xiàn)的機(jī)制 監(jiān)控方式主要是通過(guò)shell腳本的實(shí)現(xiàn),針對(duì)應(yīng)用服務(wù)運(yùn)行的端口進(jìn)行監(jiān)控,如果其端口開(kāi)啟,則證明此服務(wù)運(yùn)行,反之則此服務(wù)沒(méi)有運(yùn)行。 3、監(jiān)控的應(yīng)用服務(wù) 監(jiān)控的應(yīng)用服務(wù)有: A、應(yīng)用服務(wù)器的服務(wù)監(jiān)控 web:http、yu_tomcat、tomcat 共3個(gè) 交換:pas、ppas、mas、mmas、cas共5個(gè) 引擎:memcache、datastorageservice、http、dbstatserver共4個(gè) B:應(yīng)用服務(wù)器的資源監(jiān)控 硬盤使用率、cpu使用率、硬件啟動(dòng)信息錯(cuò)誤、i/o使用率、15分鐘內(nèi)的負(fù)載、內(nèi)存使用率(包括內(nèi)存與swap)、日志錯(cuò)誤信息、當(dāng)前用戶登錄數(shù) 4、已經(jīng)監(jiān)控的省份 目前天津、廣西、貴州、海南、河北、河南、湖北、湖南、寧夏、陜西、青海、西藏、新疆、包頭、甘肅、江西都已經(jīng)部署完成,經(jīng)過(guò)3個(gè)月的測(cè)試,沒(méi)有發(fā)現(xiàn)問(wèn)題。 5、shell監(jiān)控腳本內(nèi)容與解釋 (1)web服務(wù)器(以甘肅web為例) #!/bin/bash ? #ip ? web_ip=$(/sbin/ifconfig?eth0|grep?"inet?addr"|cut?-d?:?-f?2|awk?'{print?$1}') ? ##eth0網(wǎng)卡的ip ? #name ? web_name=$(hostname) ? ##web主機(jī)名 ? monitor_name=web? ##監(jiān)控的服務(wù)器是什么類型 ? here='gansu'? ##監(jiān)控的省份 ? #mysql?info ? mysql_ip='1.1.1.1'? ##數(shù)據(jù)庫(kù)的ip ? mysql_username='root'? ##數(shù)據(jù)庫(kù)的用戶 ? mysql_passwd='****'? #數(shù)據(jù)庫(kù)的密碼 ? mysql_database='monitor'? ##選擇的數(shù)據(jù)庫(kù) ? memory_table=''$here'_memory' ? load_table=''$here'_load' ? io_table=''$here'_io' ? hardware_table=''$here'_hardware' ? message_table=''$here'_message' ? user_table=''$here'_user' ? disk_table=''$here'_disk' ? cpu_table=''$here'_cpu' ? service_table=''$here'_service' ? ##想數(shù)據(jù)庫(kù)里寫入的表 ? #date?and?log ? day="$(date?+%Y%m%d)"? worklog='/usr/local/monitor/logs/all_work_log'? downlog='/usr/local/monitor/logs/all_down_log'? ##日志與實(shí)際 ? now="$(date?+%Y-%m-%d-%T)"? #web?service ? tomcat="$(netstat?-antl|grep?8080|wc?-l)"? web_http="$(ps?-ef|grep?httpd|grep?-v?grep|wc?-l)"? yz_tomcat="$(netstat?-antl|grep?8081|wc?-l)"? ##通過(guò)端口與服務(wù)在后頭的運(yùn)行情況監(jiān)控其運(yùn)行狀態(tài) ? #cpu?service ? alert_cpu='80'? ##cpu的報(bào)警閥值 ? web_cpu_idle="$(top?-b?-n?1?|?grep?Cpu?|?awk?'{print?$5}'?|?cut?-f?1?-d?.)"? web_cpu="$(echo?100?-?$web_cpu_idle|/usr/bin/bc)"? ##監(jiān)控cpu的使用率 ? #memory?service ? alert_mem='100'? ##內(nèi)存的報(bào)警閥值 ? web_mem="$(/usr/bin/free?-m|grep?Mem|awk?'{print?$4}')"? web_swap="$(/usr/bin/free?-m|grep?Swap|awk?'{print?$3}')"? ##memory與swap的使用率 ? alert_swap='0'? ##swap的報(bào)警閥值 ? #memory?log ? memory_worklog='/usr/local/monitor/logs/mem_work_log'? memory_downlog='/usr/local/monitor/logs/mem_down_log'? #load?service ? cpu_count="$(grep?-c?'model?name'?/proc/cpuinfo)"? alert_load="$(echo?$cpu_count/2|/usr/bin/bc)"? web_load="$(uptime|awk?'{print?$NF}'|cut?-f?1?-d?.)"? web_load_15="$(uptime|awk?'{print?$NF}')"? #監(jiān)控負(fù)載的使用率 ? #load?log ? load_worklog='/usr/local/monitor/logs/load_work_log'? load_downlog='/usr/local/monitor/logs/load_down_log'? #io?service ? alert_io='80'? web_io_idle_back="$(/usr/bin/iostat|awk?'NR==4{print?$NF}'|cut?-f?1?-d?.)"? web_io_idle="$(echo?100?-?$web_io_idle_back|/usr/bin/bc)"? ##io的使用值 ? #io?log ? io_worklog='/usr/local/monitor/logs/io_work_log'? io_downlog='/usr/local/monitor/logs/io_down_log'? #hardware?service ? web_hardware_error="$(dmesg|grep?-i?error|wc?-l)"? web_info_error="$(dmesg|grep?-i?error)"? ##開(kāi)機(jī)啟動(dòng)的錯(cuò)誤信息 ? #hardware?error?log ? hard_worklog='/usr/local/monitor/logs/hard_work_log'? hard_downlog='/usr/local/monitor/logs/hard_down_log'? #message?service ? web_message_error_count="$(awk?'/"$(date?+%Y%m%d)"/'?/var/log/messages|grep?-i?error|wc?-l)" ? web_message_error="$(awk?'/"$(date?+%Y%m%d)"/'?/var/log/messages|grep?-i?error)" ? ##日志的錯(cuò)誤信息 ? #message?error?log ? message_worklog='/usr/local/monitor/logs/message_work_log'? message_downlog='/usr/local/monitor/logs/message_down_log'? #user?service ? web_user_count="$(/usr/bin/who|wc?-l)"? web_user_info="$(/usr/bin/who)"? ##當(dāng)前登錄的用戶值 ? #user??log ? user_worklog='/usr/local/monitor/logs/user_work_log'? user_downlog='/usr/local/monitor/logs/user_down_log'? #disk?service ? alert_disk='80'? web_disk="$(/bin/df?-H|sort?-k5nr|grep?-vE?'Filesystem|tmpfs|cdrom'|awk?'{print?$5?"?"?$1}')" ? web_disk_use=$(echo?$web_disk|awk?'{print?$1}'|cut?-d?'%'?-f1) ? web_disk_partition=$(echo?$web_disk|awk?'{print?$2}') ? #硬盤使用率 ? #disk?log ? disk_worklog='/usr/local/monitor/logs/disk_work_log'? disk_downlog='/usr/local/monitor/logs/disk_down_log'? #cpu?log ? cpu_worklog='/usr/local/monitor/logs/cpu_work_log'? cpu_downlog='/usr/local/monitor/logs/cpu_down_log'? #notification?mail ? email='denglei@ctfo.com'? ##報(bào)警的接收人 ? #monitor ? if?[?!?-d?"$loghere"?];then ? ????mkdir?$loghere ? fi ? #check?web?service ? if?[?$web_http?-ge?1?];then ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?http?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','web_http','working',now())"; ? else ? ????/etc/init.d/httpd?start ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?http?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:??http??was?a?problem"?$email ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?http?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','web_http','downing',now())"; ? fi ? ? if?[?$tomcat?-ge?1?];then ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?tomcat?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','tomcat','working',now())"; ? else ? ????/usr/local/monitor/shell/web_tomcat.sh ? ??echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?tomcat?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:??tomcat??was?a?problem"?$email? ? ??echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?tomcat?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','tomcat','downing',now())"; ? fi ? if?[?$yz_tomcat?-ge?1?];then ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Service:?Ip:?$web_ip?yz_tomcat?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','yz_tomcat','working',now())"; ? else ? ????/usr/local/monitor/shell/web_yz_tomcat.sh ? ??echo?"$now?ShengFen:?$here?Server:?$web_name?Service:?Ip:?$web_ip?yz_tomcat?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:??yz_tomcat??was?a?problem"?$email? ? ??echo?"$now?ShengFen:?$here?Server:?$web_name?Service:?Ip:?$web_ip?yz_tomcat?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$web_name','$web_ip','$monitor_name','yz_tomcat','downing',now())"; ? fi ? #check?cpu_idle ? if?[?$web_cpu?-ge?$alert_cpu?];then ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$web_cpu"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?cpu_use??was?Exceed?Threshold?value:?80%"?$email ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$web_cpu"?>>?$cpu_downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$cpu_table?values?('','$here','$web_name','$web_ip','$monitor_name','cpu_use','$alert_cpu','$web_cpu','abnormal',now())"; ? else ? ????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$web_cpu"?>>?$cpu_worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$cpu_table?values?('','$here','$web_name','$web_ip','$monitor_name','cpu_use','$alert_cpu','$web_cpu','normal',now())"; ? fi ? #check?memory ? if?[?$web_mem?-le?$alert_mem?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$web_mem"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?memory??was?Exceed?Threshold?value"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$web_mem"?>>?$memory_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$web_name','$web_ip','$monitor_name','memory','$alert_mem','$web_mem','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$web_mem"?>>?$memory_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$web_name','$web_ip','$monitor_name','memory','$alert_mem','$web_mem','normal',now())"; ? fi ? #check?swap ? if?[?$web_swap?-gt?$alert_swap?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_web:?$web_swap"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?swap?Ip:?$web_ip?was?Exceed?Threshold?value"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_web:?$web_swap"?>>?$memory_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$memory_table?values?('','$here','$web_name','$web_ip','$monitor_name','swap','$alert_swap','$web_swap','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_web:?$web_swap"?>>?$memory_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$web_name','$web_ip','$monitor_name','swap','$alert_swap','$web_swap','normal',now())"; ? fi ? #check?load_15 ? if?[?$web_load?-ge?$alert_load?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?load_15?Monitor_Server:?$monitor_name?Load_use:?$web_load_15"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?load_15?Ip:?$web_ip?was?Exceed?Threshold?value"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?load_15?Monitor_Server:?$monitor_name?Load_use:?$web_load_15"?>>?$load_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$load_table?values?('','$here','$web_name','$web_ip','$monitor_name','load_15','$alert_load','$web_load_15','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$server?Ip:?$ip?Service:?load?Monitor_Server:?$monitor_name?Load_use:?$web_load_15"?>>?$load_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$load_table?values?('','$here','$web_name','$web_ip','$monitor_name','load_15','$alert_load','$web_load_15','normal',now())"; ? fi ? #check?io_idle ? if?[?$web_io_idle?-ge?$alert_io?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$web_io_idle"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?io_use??was?Exceed?Threshold?value:?80%"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$web_io_idle"?>>?$io_downlog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$io_table?values?('','$here','$web_name','$web_ip','$monitor_name','io_use','$alert_io','$web_io_idle','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$web_io_idle"?>>?$io_worklog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$io_table?values?('','$here','$web_name','$web_ip','$monitor_name','io_use','$alert_io','$web_io_idle','normal',now())"; ? fi ? #check?hareware?error?info ? if?[?$web_hardware_error?-gt?0?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?$web_info_error"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?hardware_error??were?some?hardware?imformation?error"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?$web_info_error"?>>?$hard_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$hardware_table?values?('','$here','$web_name','$web_ip','$monitor_name','hardware_error','0','$web_hardware_error','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?Nothing"?>>?$hard_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$hardware_table?values?('','$here','$web_name','$web_ip','$monitor_name','hardware_error','0','$web_hardware_error','normal',now())"; ? fi ? #check?message?error ? if?[?$web_message_error_count?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?$web_message_error"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name?Service:?message_error??were?some?message?imformation?error"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?$web_message_error"?>>?$message_downlog-$day ? ????????/usr/bin/mysql-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$message_table?values?('','$here','$web_name','$web_ip','$monitor_name','message_error','1','$web_message_error_count','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?Nothing"?>>?$message_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$message_table?values?('','$here','$web_name','$web_ip','$monitor_name','message_error','1','$web_message_error_count','normal',now())"; ? fi ? #check?user ? if?[?$web_user_count?-ge?3?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?user?Monitor_Server:?$monitor_name?User:?$web_user_info"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$web_name??Service:?user??was?Exceed?Threshold?value:?3"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?user?Monitor_Server:?$monitor_name?User:?$web_user_info"?>>?$user_downlog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$user_table?values?('','$here','$web_name','$web_ip','$monitor_name','user','3','$web_user_count','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?user?Monitor_Server:?$monitor_name?User:?normal"?>>?$user_worklog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$user_table?values?('','$here','$web_name','$web_ip','$monitor_name','user','3','$web_user_count','normal',now())"; ? fi ? #check?disk ? if?[?$web_disk_use?-ge?$alert_disk?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$web_disk_partition?($web_disk_use%)"|/bin/mail?-s?"Warning!!!?$here?Server:?$web_name?Service:?disk_use??was?Exceed?Threshold?value?:?$alert_disk%?"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$web_disk_partion?($web_disk_use%)"?>>?$disk_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$disk_table?values?('','$here','$web_name','$web_ip','$monitor_name','disk_use','$alert_disk','$web_disk_partition','$web_disk_use','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$web_name?Ip:?$web_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$web_disk_partition?($web_disk_use%)"?>>?$disk_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$disk_table?values?('','$here','$web_name','$web_ip','$monitor_name','disk_use','$alert_disk','$web_disk_partition','$web_disk_use','normal',now())"; ? fi ? (2)交換服務(wù)器(以甘肅交換為例,解釋內(nèi)容參照甘肅web) #!/bin/bash ? #ip ? jh_ip=$(/sbin/ifconfig?eth0|grep?"inet?addr"|cut?-d?:?-f?2|awk?'{print?$1}') ? #name ? jh_name=$(hostname) ? monitor_name=jiaohuan? here='gansu'? #mysql?info ? mysql_ip='1.1.1.1'? mysql_username='root'? mysql_passwd='****'? mysql_database='monitor'? memory_table=''$here'_memory' ? load_table=''$here'_load' ? io_table=''$here'_io' ? hardware_table=''$here'_hardware' ? message_table=''$here'_message' ? user_table=''$here'_user' ? disk_table=''$here'_disk' ? cpu_table=''$here'_cpu' ? service_table=''$here'_service' ? #date?and?log ? day="$(date?+%Y%m%d)"? worklog='/usr/local/monitor/logs/all_work_log'? downlog='/usr/local/monitor/logs/all_down_log'? now="$(date?+%Y-%m-%d-%T)"? loghere='/usr/local/monitor/logs'? #jiaohuan?service ? pas="$(ps?-ef|grep?pas|grep?-v?grep|grep?-v?ppas|wc?-l)"? ppas="$(ps?-ef|grep?ppas|grep?-v?grep|wc?-l)"? cas="$(ps?-ef|grep?cas|grep?-v?grep|wc?-l)"? mas="$(ps?-ef|grep?mas|grep?-v?grep|grep?-v?mmas|wc?-l)"? mmas="$(ps?-ef|grep?mmas|grep?-v?grep|wc?-l)"? #cpu?service ? alert_cpu='80'? jh_cpu_idle="$(top?-b?-n?1?|?grep?Cpu?|?awk?'{print?$5}'?|?cut?-f?1?-d?.)"? jh_cpu="$(echo?100?-?$jh_cpu_idle|/usr/bin/bc)"? #memory?service ? alert_mem='100'? jh_mem="$(/usr/bin/free?-m|grep?Mem|awk?'{print?$4}')"? jh_swap="$(/usr/bin/free?-m|grep?Swap|awk?'{print?$3}')"? alert_swap='0'? #memory?log ? memory_worklog='/usr/local/monitor/logs/mem_work_log'? memory_downlog='/usr/local/monitor/logs/mem_down_log'? #load?service ? cpu_count="$(grep?-c?'model?name'?/proc/cpuinfo)"? alert_load="$(echo?$cpu_count/2|/usr/bin/bc)"? jh_load="$(uptime|awk?'{print?$NF}'|cut?-f?1?-d?.)"? jh_load_15="$(uptime|awk?'{print?$NF}')"? #load?log ? load_worklog='/usr/local/monitor/logs/load_work_log'? load_downlog='/usr/local/monitor/logs/load_down_log'? #io?service ? alert_io='80'? jh_io_idle_back="$(/usr/bin/iostat|awk?'NR==4{print?$NF}'|cut?-f?1?-d?.)"? jh_io_idle="$(echo?100?-?$jh_io_idle_back|/usr/bin/bc)"? #io?log ? io_worklog='/usr/local/monitor/logs/io_work_log'? io_downlog='/usr/local/monitor/logs/io_down_log'? #hardware?service ? jh_hardware_error="$(dmesg|grep?-i?error|wc?-l)"? jh_info_error="$(dmesg|grep?-i?error)"? #hardware?error?log ? hard_worklog='/usr/local/monitor/logs/hard_work_log'? hard_downlog='/usr/local/monitor/logs/hard_down_log'? #message?service ? jh_message_error_count="$(awk?'/"$(date?+%Y%m%d)"/'?/var/log/messages|grep?-i?error|wc?-l)" ? jh_message_error="$(awk?'/"$(date?+%Y%m%d)"/'?/var/log/messages|grep?-i?error)" ? #message?error?log ? message_worklog='/usr/local/monitor/logs/message_work_log'? message_downlog='/usr/local/monitor/logs/message_down_log'? #user?service ? jh_user_count="$(/usr/bin/who|wc?-l)"? jh_user_info="$(/usr/bin/who)"? #user??log ? user_worklog='/usr/local/monitor/logs/user_work_log'? user_downlog='/usr/local/monitor/logs/user_down_log'? #disk?service ? alert_disk='80'? jh_disk="$(/bin/df?-H|sort?-k5nr|grep?-vE?'Filesystem|tmpfs|cdrom'|awk?'{print?$5?"?"?$1}')" ? jh_disk_use=$(echo?$jh_disk|awk?'{print?$1}'|cut?-d?'%'?-f1) ? jh_disk_partition=$(echo?$jh_disk|awk?'{print?$2}') ? #disk?log ? disk_worklog='/usr/local/monitor/logs/disk_work_log'? disk_downlog='/usr/local/monitor/logs/disk_down_log'? #cpu?log ? cpu_worklog='/usr/local/monitor/logs/cpu_work_log'? cpu_downlog='/usr/local/monitor/logs/cpu_down_log'? #notification?mail ? email='denglei@ctfo.com'? #monitor ? if?[?!?-d?"$loghere"?];then ? ????mkdir?$loghere ? fi ? #monitor ? #jiaohuan?check ? if?[?$pas?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?pas?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','pas','working',now())"; ? else ? ????????????????/usr/local/lbs/bin4.0.7.7/pas?-daemon ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?pas?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:??pas??was?a?problem"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?pas?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','pas','downing',now())"; ? fi ? if?[?$ppas?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?ppas?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','ppas','working',now())"; ? else ? ????????????????/usr/local/lbs/bin4.0.7.7/ppas?-daemon ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?ppas?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:??ppas??was?a?problem"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?ppas?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','ppas','downing',now())"; ? fi ? if?[?$mas?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mas?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','mas','working',now())"; ? else ? ????????????????/usr/local/lbs/bin4.0.7.7/mas?-daemon ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mas?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:??mas??was?a?problem"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mas?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','mas','downing',now())"; ? fi ? if?[?$mmas?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mmas?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','mmas','working',now())"; ? else ? ????????????????/usr/local/lbs/bin4.0.7.7/mmas?-daemon ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mmas?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:??mmas??was?a?problem"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?mmas?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','mmas','downing',now())"; ? fi ? if?[?$cas?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cas?Monitor_Server:?$monitor_name?is?working"?>>?$worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','cas','working',now())"; ? else ? ????????????????/usr/local/lbs/bin4.0.7.7/cas?-daemon ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cas?Monitor_Server:?$monitor_name?is?down"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:??cas??was?a?problem"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cas?Monitor_Server:?$montior_name?is?down"?>>?$downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$service_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','cas','downing',now())"; ? fi ? #check?cpu_idle ? if?[?$jh_cpu?-ge?$alert_cpu?];then ? ????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$jh_cpu"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?cpu_use??was?Exceed?Threshold?value:?80%"?$email ? ????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$jh_cpu"?>>?$cpu_downlog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$cpu_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','cpu_use','$alert_cpu','$jh_cpu','abnormal',now())"; ? else ? ????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?cpu_idle?Monitor_Server:?$monitor_name?Cpu_use:?$jh_cpu"?>>?$cpu_worklog-$day ? ????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$cpu_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','cpu_use','$alert_cpu','$jh_cpu','normal',now())"; ? fi ? #check?memory ? if?[?$jh_mem?-le?$alert_mem?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$jh_mem"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?memory??was?Exceed?Threshold?value"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$jh_mem"?>>?$memory_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','memory','$alert_mem','$jh_mem','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?memory?Monitor_Server:?$monitor_name?Free_mem:?$jh_mem"?>>?$memory_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','memory','$alert_mem','$jh_mem','normal',now())"; ? fi ? #check?swap ? if?[?$jh_swap?-gt?$alert_swap?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_jh:?$jh_swap"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?swap?Ip:?$jh_ip?was?Exceed?Threshold?value"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_jh:?$jh_swap"?>>?$memory_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$memory_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','swap','$alert_swap','$jh_swap','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?swap?Monitor_Server:?$monitor_name?Swap_jh:?$jh_swap"?>>?$memory_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$memory_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','swap','$alert_swap','$jh_swap','normal',now())"; ? fi ? #check?load_15 ? if?[?$jh_load?-ge?$alert_load?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?load_15?Monitor_Server:?$monitor_name?Load_use:?$jh_load_15"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?load_15?Ip:?$jh_ip?was?Exceed?Threshold?value"?$email? ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?load_15?Monitor_Server:?$monitor_name?Load_use:?$jh_load_15"?>>?$load_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$load_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','load_15','$alert_load','$jh_load_15','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$server?Ip:?$ip?Service:?load?Monitor_Server:?$monitor_name?Load_use:?$jh_load_15"?>>?$load_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$load_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','load_15','$alert_load','$jh_load_15','normal',now())"; ? fi ? #check?io_idle ? if?[?$jh_io_idle?-ge?$alert_io?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$jh_io_idle"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?io_use??was?Exceed?Threshold?value:?80%"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$jh_io_idle"?>>?$io_downlog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$io_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','io_use','$alert_io','$jh_io_idle','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?io_idle?Monitor_Server:?$monitor_name?Io_use:?$jh_io_idle"?>>?$io_worklog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$io_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','io_use','$alert_io','$jh_io_idle','normal',now())"; ? fi ? #check?hareware?error?info ? if?[?$jh_hardware_error?-gt?0?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?$jh_info_error"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?hardware_error??were?some?hardware?imformation?error"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?$jh_info_error"?>>?$hard_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$hardware_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','hardware_error','0','$jh_hardware_error','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?hardware_error?Monitor_Server:?$monitor_name?Error:?Nothing"?>>?$hard_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$hardware_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','hardware_error','0','$jh_hardware_error','normal',now())"; ? fi ? #check?message?error ? if?[?$jh_message_error_count?-ge?1?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?$jh_message_error"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name?Service:?message_error??were?some?message?imformation?error"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?$jh_message_error"?>>?$message_downlog-$day ? ????????/usr/bin/mysql-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$message_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','message_error','1','$jh_message_error_count','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?message_error?Monitor_Server:?$monitor_name?Message_error:?Nothing"?>>?$message_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$message_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','message_error','1','$jh_message_error_count','normal',now())"; ? fi ? #check?user ? if?[?$jh_user_count?-ge?3?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?user?Monitor_Server:?$monitor_name?User:?$jh_user_info"|/bin/mail?-s?"Notification?ShengFen:?$here?Server:?$jh_name??Service:?user??was?Exceed?Threshold?value:?3"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?user?Monitor_Server:?$monitor_name?User:?$jh_user_info"?>>?$user_downlog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$user_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','user','3','$jh_user_count','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?user?Monitor_Server:?$monitor_name?User:?normal"?>>?$user_worklog-$day ? ????????/usr/bin/mysql??-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database?-e?"insert?into?$user_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','user','3','$jh_user_count','normal',now())"; ? fi ? #check?disk ? if?[?$jh_disk_use?-ge?$alert_disk?];then ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$jh_disk_partition?($jh_disk_use%)"|/bin/mail?-s?"Warning!!!?$here?Server:?$jh_name?Service:?disk_use??was?Exceed?Threshold?value?:?$alert_disk%?"?$email ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$jh_disk_partion?($jh_disk_use%)"?>>?$disk_downlog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$disk_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','disk_use','$alert_disk','$jh_disk_partition','$jh_disk_use','abnormal',now())"; ? else ? ????????echo?"$now?ShengFen:?$here?Server:?$jh_name?Ip:?$jh_ip?Service:?disk_use?Monitor_Server:?$monitor_name?Disk_use:?$jh_disk_partition?($jh_disk_use%)"?>>?$disk_worklog-$day ? ????????/usr/bin/mysql?-h?$mysql_ip?-u$mysql_username?-p$mysql_passwd?$mysql_database??-e?"insert?into?$disk_table?values?('','$here','$jh_name','$jh_ip','$monitor_name','disk_use','$alert_disk','$jh_disk_partition','$jh_disk_use','normal',now())"; ? fi ?
下一篇文章地址:
運(yùn)維自動(dòng)化之使用PHP+MYSQL+SHELL打造私有監(jiān)控系統(tǒng)(三)
http://dl528888.blog.51cto.com/2382721/1035142
本文出自 “吟—技術(shù)交流” 博客,請(qǐng)務(wù)必保留此出處http://dl528888.blog.51cto.com/2382721/1035131
轉(zhuǎn)載于:https://blog.51cto.com/solothisworld/1047948
總結(jié)
以上是生活随笔為你收集整理的运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PDM 导出Excel
- 下一篇: linux cmake编译源码,linu