Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
как бы сказать ему чтоб он вначале проверял на лакалке а потом бежал на другие серверы и тоже проверял???
Цитата: CRY_WOLF от 16 Февраля 2011, 11:06:42как бы сказать ему чтоб он вначале проверял на лакалке а потом бежал на другие серверы и тоже проверял???Этот скрипт выполняется на сервере, где и стоит mysqld.Если у Вас на этом хосте стоят и другие сервера, то сделайте и для них такую проверку.Если сервера распределены по разным хостам, то на соответствующем хосте и проверяйте соответствующий сервер.Как-то так.
Если том же хосте крутятся 3 сервера, то ssh, в принципе, не надо.Если это разные хосты, то на каждом хосте может стоять свой проверяльщик.И наконец, если хост проверяющий отдельный, то тогда надо использовать ssh.ЗЫ. Кстати, и sshd тоже надо проверять, но это только на серверах, где стоит sshd.
Может, zabbix или mmonit воткнуть? ) Первым на работе пользуюсь - много чего мониторит, умеет уведомлять по почте, жабберу и смс.
Надо на мониторимых машинах запускать zabbix_agent, не забывая разрешать в iptables серверу стучаться до агента (входящее соединение со стороны мониторящего сервера, tcp, порт 10050). Агент есть под винду и линь.В принципе, я вот этим пользовался http://www.zabbix.com/wiki/howto - всё разжёвано.
Вопрос состоит из 3 вопросов:- где выполнять скрипт - очевидно, в cron- как рестартовать - см. man apache2 - как выполнить скрипт по ssh - man ssh
а если тодже например ssh рухнет?? тогда как быть
#!/bin/bash#check apache,mysql thread and auto reboot system#Powered by ipaddr(aspbiz)#Modified by doxer.orgwhich os is the system,debian or centos;others exit 1ip_address='xxx.xx:85'mail_doxer(){sendemail -f olegs@nrj.lv -t xxx@xxx.xx -u "Abnormal Message from VPS $ip_address"</tmp/result.txt#sendemail -f olegs@nrj.lv -t 371xxxxxxxx@sms.tele2.lv -u "Abnormal Message from VPS $ip_address"</tmp/result.txt}echo ''>/tmp/result.txtos="";apachename="";grep "centos" /etc/issue -i -qif [ $? = '0' ];thenos='centos'apachename="httpd"figrep "debian" /etc/issue -i -qif [ $? = '0' ];thenos='debian'apachename="apache"fiif [ $os = "" ];thenecho "not a valid system os"exit 1fiApacheThread=`ps -A|grep ${apachename}|wc -l`MysqldThread=`ps -A|grep mysql|wc -l`SSHThread=`ps -A|grep SSH|wc -l`ProftpThread=`ps -A|grep proftpd|wc -l`if [ $ApacheThread -eq 0 ]thenecho "Apache Server has stoped, it will start at $(date +"%y-%m-%d %H:%M:%S")">>/tmp/result.txtmail_doxer/etc/init.d/apache2 startfiif [ $MysqldThread -eq 0 ]thenecho "MySQL Server has stoped, it will start at $(date +"%y-%m-%d %H:%M:%S")">>/tmp/result.txtmail_doxer/etc/init.d/mysql startfiif [ $SSHThread -eq 0 ]thenecho "SSHThread Server has stoped, it will start at $(date +"%y-%m-%d %H:%M:%S")">>/tmp/result.txtmail_doxer/etc/init.d/ssh startfiif [ $ProftpThread -eq 0 ]thenecho "ProftpThread Server has stoped, it will start at $(date +"%y-%m-%d %H:%M:%S")">>/tmp/result.txtmail_doxer/etc/init.d/proftpd startfi#process forks too much,needs reboot the systemMaxApacheThread=30MaxMysqlThread=250MaxSSHThread=300NeedReboot=0if [ $ApacheThread -gt $MaxApacheThread ]thenNeedReboot=1fiif [ $MysqldThread -gt $MaxMysqlThread ]thenNeedReboot=1fiif [ $SSHThread -gt $MaxSSHThread ]thenNeedReboot=1fiif [ $NeedReboot -eq 1 ]thendate_reboot=$(date +"%y-%m-%d %H:%M:%S")echo "System is busy,rebootApache:$ApacheThread">>/tmp/result.txtecho "System is busy,rebootMysql:$MysqldThread">>/tmp/result.txtecho "System is busy,rebootSSH:$SSHThread">>/tmp/result.txtecho "System is busy,rebootVsftp:$ProftpThread">>/tmp/result.txtmail_doxerrebootfi
Страница сгенерирована за 0.375 секунд. Запросов: 21.