Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Администрирование (https://forum.antichat.xyz/forumdisplay.php?f=123)
-   -   нужно создать серверное преложение (https://forum.antichat.xyz/showthread.php?t=108192)

malik555 26.02.2009 20:10

нужно создать серверное преложение
 
Всем привет ,

Нужна помощь - нужно создать серверное преложение чтобы оно следило за определенным процесом - и если этот процес остановился - то мне маякует в базу mySql

+ постоянно сливает мне инфу , нагрузку на сервер , использование ram

сервера FreeBsd

Может у кого есть время мне помочь пишите в личку - отблогадарю финансово !

Talisman 26.02.2009 20:20

все написано до тебя - копай в сторону средств мониторинга и контроля сетей.

если влом самому - за небольшую сумму тебе это настроят

malik555 26.02.2009 20:22

Но я нехочу сам этим занематся не мой профиль , а времени на изучение нет - поэтому и написал !

RedAlert 26.02.2009 23:56

_http://www.lissyara.su/?id=1268 - у самого такое стоит , все просто и понятно . А составить sh скрипт , который будет отстукивать при изменении состояния процесса , достаточно просто.
Для подробного мониторинга состояния системы юзаю php скрипт phpsysinfo.

malik555 27.02.2009 01:18

Согласен утила хорошая , все сконфигурил но запустить ее немогу

root@user:/# /usr/local/etc/rc.d/monit start
Starting monit.
root@user:/#

сонфиг отредактировал - все пути проверил в конфиге - а не запускается!

RedAlert 27.02.2009 15:21

Конфиг в студию =\

malik555 27.02.2009 16:31

Код:

###############################################################################  ## Monit control file  ###############################################################################  ##  ## Comments begin with a '#' and extend through the end of the line. Keywords  ## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'.  ##  ## Below you will find examples of some frequently used statements. For  ## information about the control file, a complete list of statements and  ## options please have a look in the monit manual.  ##  ##  ###############################################################################  ## Global section  ###############################################################################  ##  ## Start monit in the background (run as a daemon) and check services at  ## 2-minute intervals.  #  set daemon  120  #  #  ## Set syslog logging with the 'daemon' facility. If the FACILITY option is  ## omitted, monit will use 'user' facility by default. If you want to log to  ## a stand alone log file instead, specify the path to a log file  #  set logfile syslog facility log_daemon                        #  #  ## Set the list of mail servers for alert delivery. Multiple servers may be  ## specified using comma separator. By default monit uses port 25 - this  ## is possible to override with the PORT option.  #      set mailserver localhost,              # primary mailserver  #                backup.bar.baz port 10025,  # backup mailserver on port 10025  #                localhost                  # fallback relay  #  #  ## By default monit will drop alert events if no mail servers are available.  ## If you want to keep the alerts for a later delivery retry, you can use the  ## EVENTQUEUE statement. The base directory where undelivered alerts will be  ## stored is specified by the BASEDIR option. You can limit the maximal queue  ## size using the SLOTS option (if omitted, the queue is limited by space  ## available in the back end filesystem).  #  set eventqueue      basedir /var/monit  # set the base directory where events will be stored      slots 100          # optionaly limit the queue size  #  #  ## Monit by default uses the following alert mail format:  ##  ## --8<--    From: monit@$HOST                        # sender    Subject: monit alert --  $EVENT $SERVICE  # subject  ##    $EVENT Service $SERVICE                  #  ##                                          #    Date:        $DATE                  #    Action:      $ACTION                #    Host:        $HOST                  # body    Description: $DESCRIPTION            #  ##                                          #  Your faithful employee,                  #  monit                                    #  ## --8<--  ##  ## You can override this message format or parts of it, such as subject  ## or sender using the MAIL-FORMAT statement. Macros such as $DATE, etc.  ## are expanded at runtime. For example, to override the sender:  #  set mail-format { from: service@dom.name }  #  #  ## You can set alert recipients here whom will receive alerts if/when a  ## service defined in this file has errors. Alerts may be restricted on  ## events by using a filter as in the second example below.  #  set alert service@dom.name                  # receive all alerts  # set alert manager@foo.bar only on { timeout }  # receive just service-  #                                                # timeout alert  #  #  ## Monit has an embedded web server which can be used to view status of  ## services monitored, the current configuration, actual services parameters  ## and manage services from a web interface.  #  # set httpd port 2812 and  #    use address localhost  # only accept connection from localhost  #    allow localhost        # allow localhost to connect to the server and  #    allow admin:monit      # require user 'admin' with password 'monit'  #  #  ###############################################################################  ## Services  ###############################################################################  ##  ## Check general system resources such as load average, cpu and memory  ## usage. Each test specifies a resource, conditions and the action to be  ## performed should a test fail.  #  #  check system myhost.mydomain.tld  #    if loadavg (1min) > 4 then alert  #    if loadavg (5min) > 2 then alert  #    if memory usage > 75% then alert  #    if cpu usage (user) > 70% then alert  #    if cpu usage (system) > 30% then alert  #    if cpu usage (wait) > 20% then alert  #  #      ## Check a file for existence, checksum, permissions, uid and gid. In addition  ## to alert recipients in the global section, customized alert will be sent to  ## additional recipients by specifying a local alert handler. The service may  ## be grouped using the GROUP option.  #      #  check file apache_bin with path /usr/local/apache/bin/httpd  #    if failed checksum and  #      expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor  #    if failed permission 755 then unmonitor  #    if failed uid root then unmonitor  #    if failed gid root then unmonitor  #    alert security@foo.bar on {  #          checksum, permission, uid, gid, unmonitor  #        } with the mail-format { subject: Alarm! }  #    group server  #  #      ## Check that a process is running, in this case Apache, and that it respond  ## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory,  ## and number of children. If the process is not running, monit will restart  ## it by default. In case the service was restarted very often and the  ## problem remains, it is possible to disable monitoring using the TIMEOUT  ## statement. This service depends on another service (apache_bin) which  ## is defined above.  #        check process apache with pidfile /var/run/httpd.pid      start program = "/usr/local/etc/rc.d/apache.sh start"      stop program  = "/usr/local/etc/rc.d/apache.sh stop"      if cpu > 60% for 2 cycles then alert      if cpu > 80% for 5 cycles then restart      if totalmem > 200.0 MB for 5 cycles then restart    if children > 250 then restart        #    if loadavg(5min) greater than 10 for 8 cycles then stop  #    if failed host www.tildeslash.com port 80 protocol http  #      and request "/monit/doc/next.php"  #      then restart  #    if failed port 443 type tcpssl protocol http  #      with timeout 15 seconds  #      then restart  #    if 3 restarts within 5 cycles then timeout  #    depends on apache_bin  #    group server  #      #      ## Check device permissions, uid, gid, space and inode usage. Other services,  ## such as databases, may depend on this resource and an automatically graceful  ## stop may be cascaded to them before the filesystem will become full and data  ## lost.  #  #  check device datafs with path /dev/sdb1  #    start program  = "/bin/mount /data"  #    stop program  = "/bin/umount /data"  #    if failed permission 660 then unmonitor  #    if failed uid root then unmonitor  #    if failed gid disk then unmonitor  #    if space usage > 80% for 5 times within 15 cycles then alert  #    if space usage > 99% then stop  #    if inode usage > 30000 then alert  #    if inode usage > 99% then stop  #    group server  #  #  ## Check a file's timestamp. In this example, we test if a file is older  ## than 15 minutes and assume something is wrong if its not updated. Also,  ## if the file size exceed a given limit, execute a script  #  #  check file database with path /data/mydatabase.db  #    if failed permission 700 then alert  #    if failed uid data then alert  #    if failed gid data then alert  #    if timestamp > 15 minutes then alert  #    if size > 100 MB then exec "/my/cleanup/script"  #  #  ## Check directory permission, uid and gid.  An event is triggered if the  ## directory does not belong to the user with uid 0 and gid 0.  In addition,  ## the permissions have to match the octal description of 755 (see chmod(1)).  #  #  check directory bin with path /bin  #    if failed permission 755 then unmonitor  #    if failed uid 0 then unmonitor  #    if failed gid 0 then unmonitor  #  #  ## Check a remote host network services availability using a ping test and  ## check response content from a web server. Up to three pings are sent and  ## connection to a port and a application level network check is performed.  #  #  check host myserver with address 192.168.1.1  #    if failed icmp type echo count 3 with timeout 3 seconds then alert  #    if failed port 3306 protocol mysql with timeout 15 seconds then alert  #    if failed url  #      http://user:password@www.foo.bar:8080/?querystring  #      and content == 'action="j_security_check"'  #      then alert  #  #  ###############################################################################  ## Includes  ###############################################################################  ##  ## It is possible to include additional configuration parts from other files or  ## directories.  #  include /etc/monit.d/*  #  #

malik555 27.02.2009 16:55

и еще вопросик , как могут 2 sh файла между собой общатся один на одном сервере другой на другом ? через xml например могут ?

RedAlert 27.02.2009 18:00

Вот часть из моего конфига , если поможет , для проверки ProFTPd

Код:

#proftpd
check process proftpd with pidfile /var/run/proftpd.pid
start program = "/usr/local/etc/rc.d/proftpd.sh start"
stop program  = "/usr/local/etc/rc.d/proftpd.sh stop"
if children > 250 then restart

Если не сложно распиши проблему подробнее , мож уже готовые решения предложит =\

malik555 27.02.2009 18:46

вобщем задача свелась к следующему

У меня есть 2 сервера - на них не установлен апачь у серверов есть ip адреса , вот мне нужно послать запрос с одного сервера на другой - может по порту какомуто или как незнаю , а он мне должен вернуть работает ли определенный процес + сколько занято ram и сколько свободно .

Проверить процес можно по .pid - это я знаю , можно сделать или на bash или python

Как узнать сколько ram я незнаю
И как обменятся данными - без web сервера тоже незнаю !


Время: 18:30