Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest sobota, 21 czerwca 2025, 11:04

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 10 ] 
Autor Wiadomość
Post: czwartek, 18 sierpnia 2005, 16:32 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Adres strony domowej: http://www.tildeslash.com/monit/
Gotowe pakiety :
http://www.hustons.homechoice.co.uk/nnd ... pkg.tar.gz
http://www.hustons.homechoice.co.uk/nnd ... pkg.tar.gz

Przeznaczenie: Pakiet monitorujący zadane funkcje systemu i w razie problemów potrafiący wykonac określoną czynność. Monitorowaniu moga podlegać zarówno usługi jak i urządzenia.
Możliwość wyświetlania stanu monitorowanych elementów na stronie www. Program posiada własny, wbudowany serwer www działający domyslnie na porcie 2812. W katalogu /usr/share/monit dwa scripty php pozwalające oglądac strony monita serwowane przez zwykły serwer www lub za pomocą przeglądarki wap.
Stosunkowo łatwa konfiguracja poprzez edycję pliku /etc/monitrc.

Pakiet testowany ostanie dwie godziny więc zupełnie świeży. Zapraszam do testów i dzielenia się swoimi regułkami z pliku konfiguracyjnego.


Plik PKGBUILD:
: [/] [] ()
# Wersja dla NND: Mis' <michal@doriath.homeip.net>

pkgname=monit
pkgver=4.5.1
pkgrel=1nnd
pkgdesc="Program monitorujący system i usługi."
url="http://www.tildeslash.com/monit/"
license="GPL2"
depends=('glibc' 'openssl')
makedepends=('glibc-devel' 'openssl-devel')
conflicts=()
replaces=()
backup=(/etc/monitrc)
install=monit.install
source=(http://www.tildeslash.com/monit/dist/$pkgname-$pkgver.tar.gz monit)
md5sums=('0f054ac39822b4be71789d49e4813754')

build() {
  mkdir -p $startdir/pkg/etc/rc.d
  mkdir -p $startdir/pkg/usr/share/monit
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install
  cp -a $startdir/src/$pkgname-$pkgver/monitrc /$startdir/pkg/etc
  cp -a $startdir/src/$pkgname-$pkgver/contrib/wap.php $startdir/pkg/usr/share/monit
  cp -a $startdir/src/$pkgname-$pkgver/contrib/monit.php $startdir/pkg/usr/share/monit
  cp -a $startdir/src/$pkgname-$pkgver/FAQ.txt $startdir/pkg/usr/share/monit
  install -m 755 $startdir/src/monit $startdir/pkg/etc/rc.d/monit
}



Plik monit

: [/] [] ()
#! /bin/sh

. /etc/rc.d/functions
. /etc/rc.conf

MONIT=/usr/bin/monit
MONITRC=/etc/monitrc

[ -f /usr/bin/monit ] || exit 1
PID=`cat /var/run/monit.pid 2>/dev/null`
RETVAL=0

start() {
        stat_busy "Uruchamiam monitorowanie systemu: "
        [ -z "$PID" ] && /usr/bin/monit -d 300 -c /etc/monitrc -l /var/run/monit.pid 2>/dev/null
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            add_daemon monit
            stat_done
        else
            stat_fail
        fi
}

stop() {
        stat_busy "Zatrzymuję monitorowanie systemu: "
        if [ ! -z "$PID" ]; then
             /usr/bin/monit -c /etc/monitrc quit 2>/dev/null
            RETVAL=$?
            if [ $RETVAL -eq 0 ]; then
                rm_daemon monit
                stat_done
            else
                stat_fail
            fi
        else
            stat_fail
        fi
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        sleep 1
        start
        RETVAL=$?
        ;;
  reload)

        if [ ! -z $PID ]; then
            stat_busy "Przeładowuję plik konfiguracyjny monitrc: "
            /usr/bin/monit -c /etc/monitrc reload 2>/dev/null
            RETVAL=$?
            if [ $RETVAL -eq 0 ]; then
                stat_done
            else
                stat_fail
            fi
        else
            start
        fi
        ;;
  status)
        /usr/bin/monit -c /etc/monitrc status
        RETVAL=$?
        ;;
  check_rcfile)
        stat_busy "Sprawdzam plik konfiguracyjny monitrc:"
        /usr/bin/monit -t -c /etc/monitrc
        stat_done
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload|status|check_rcfile}"
        exit 1
esac

exit $RETVAL



Plik monit.install

: [/] [] ()
              # arg 1:  the new package version
              pre_install() {
                #
                #  do pre-install stuff here
                #
                /bin/true
              }

              # arg 1:  the new package version
              post_install() {
                #
                #  do post-install stuff here
                #
                grep '^DAEMONS' /etc/rc.conf | grep monit >/dev/null
                [ $? = 0 ] || sed -i '/^DAEMONS=/s/)$/ monit)/' /etc/rc.conf
                /bin/true
              }

              # arg 1:  the new package version
              # arg 2:  the old package version
              pre_upgrade() {
                #
                #  do pre-upgrade stuff here
                #
                /bin/true
              }

              # arg 1:  the new package version
              # arg 2:  the old package version
              post_upgrade() {
                #
                #  do post-upgrade stuff here
                #
                grep '^DAEMONS' /etc/rc.conf | grep monit >/dev/null
                [ $? = 0 ] || sed -i '/^DAEMONS=/s/)$/ monit)/' /etc/rc.conf

                /bin/true
              }

              # arg 1:  the old package version
              pre_remove() {
                #
                #  do pre-remove stuff here
                #
                [ -f /var/run/daemons/monit ] && /etc/rc.d/monit stop
                /bin/true
              }

              # arg 1:  the old package version
              post_remove() {
                #
                #  do post-remove stuff here
                #
                grep '^DAEMONS' /etc/rc.conf | grep monit >/dev/null
                [ $? = 0 ] && sed -i '/^DAEMONS=/s/ monit//' /etc/rc.conf

                /bin/true
              }

              op=$1
              shift
              $op $*



EDIT: Poprawione drobne błędy. Dodany plik monit.install. Pakietów na razie nie zmieniłem - w momencie włączenia monita do repozytorium dodamy jeszcze przykladowy plik konfiguracyjny (monitrc).

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Ostatnio zmieniony piątek, 26 sierpnia 2005, 01:32 przez Mis', łącznie zmieniany 2 razy

Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 19:00 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Właśnie siadłem do komputera, zainstalowałem i niespodzianka.. nadspodziewanie łatwe w konfiguracji na pierwszy rzut oka, fajny podgląd na www, sprawdzam dalej, może to coś co zastąpi mi sysmona, którego bezskutecznie próbuję od paru tygodni skompilować..

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 19:31 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Maciek pisze:
Właśnie siadłem do komputera, zainstalowałem i niespodzianka.. nadspodziewanie łatwe w konfiguracji na pierwszy rzut oka, fajny podgląd na www, sprawdzam dalej, może to coś co zastąpi mi sysmona, którego bezskutecznie próbuję od paru tygodni skompilować..


ja bawię się tym już kilka godzin... są kłopoty ze scriptem startowym - czasem trzeba zrobić restart dwukrotnie gdyż za pierwszym razem nie daemon startuje.
Następny problem jaki zauważyłem to problem z niektórymi scriptami startowymi. U mnie np. thttpd i crond nie zapisywały do pliku PID. W związku z tym ich monitorowanie było niemożliwe. Pliki thttpd.pid i crond.pid są tworzone, lecz niestety są puste.
Dodatkowo mam niejakie wrażenie, że /etc/rc.d/monit reload nie spełnia swego zadania.
Ostatnia (na razie) wątpliwość to jak zmusić go do autentykacji przy wysyaniu emaila...

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 20:56 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
God bless the Mis' :)
Od tygodni męczę się z odpaleniem sysmona na NND. Jest mi to potrzebne, niestety źródełka mają jakieś bugi, których nie potrafię zlokalizować. Jedyna udana wersja jaką uruchomiłem "do nothing".
A tu nagle niespodzianka, że też tego sam nie znalazłem. Program może monitorować także odległe serwery i odpalone usługi. Widzę z manuala, że powinien móc także wysyłać alerty na rózne adresy. Na razie próbuję różne opcje konfiguracji. Co do problemów, to na razie odpalam ręcznie, więc trudno mi powiedzieć co jest ze skryptem. Co do autentykacji maila, to sprawa jest prosta o ile użyje się własnego serwera. Ja to zrobiłem tak: pocztę dostaje maciek@mój.serwer a adres nadawcy to może być nobody@mój.serwer (jakiekolwiek by to nie było konto, musi istnieć w systemie). Co do pidów, to chyba on używa tylko do sprawdzenia, numer procesu może nie być konieczny. Kiedy każemy mu zrobić np. restart, to najprawdopodobniej użyje plików startowych ale tego jeszcze nie miałem czasu wypróbować.

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 21:05 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Maciek pisze:
Co do pidów, to chyba on używa tylko do sprawdzenia, numer procesu może nie być konieczny.


iestety z moich doświadczeń wynika, że jest konieczny... Co prawda nie jest to trudne do obejścia bo wystarczy w pliku startowym daemona zmianić linię

echo $PID > /var/run/nazwa.pid

na

echo "`pidof /sciezka/plik`" > /var/run/nazwa.pid

ale martwi mnie dlaczego tak się dzieje.

Próbowałem zamiast konstrukcji with pidfile /sciezka/plik.pid użyć with path /sciezka/plik ale to nic nie dało.

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 21:36 
Offline
PGF

Rejestracja: wtorek, 18 maja 2004, 15:51
Posty: 377
Lokalizacja: Częstochowa
Bardzo sprytny pakiecik.
Juz biore sie za testy. A i poczytać mana trzeba :)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 21:45 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
rapsik pisze:
poczytać mana trzeba :)


oj trzeba, trzeba..
imho największym problemem będzie trochę dziwna składnia pliku konfiguracyjnego, choć dla osób które znają choć kilka angielskich słów (wyłączając te na f) po przyzwyczajeniu będzie to dość intuicyjne...

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 18 sierpnia 2005, 22:36 
Offline
Honorowy Admin

Rejestracja: piątek, 5 lipca 2002, 17:30
Posty: 7800
Lokalizacja: Słupsk
Hm.. szukam... i w Legal words nie ma żadnego na "f".
No to może "restart that fuckin' process now!" :) należałoby dodać...

_________________
Obrazek Belfer.one.PL
Obrazek Audio Cafe


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 22 sierpnia 2005, 18:41 
Offline
Użytkownik

Rejestracja: sobota, 7 sierpnia 2004, 07:16
Posty: 194
mam takie lamerske pytanie jak ustawic tego monita - ( moze raczej odblokować port) zeby go uruchomić


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 1 września 2005, 16:13 
Offline
MODERATOR

Rejestracja: sobota, 30 lipca 2005, 14:08
Posty: 3984
Lokalizacja: Rzeszów
Widze, ze nikt nie chce sie pochwalic configiem, wiec ja zaczne
: [/] [] ()
# Monit control file
## Poll at 1-minute intervals.
set daemon  60
## Make monit start its web-server.
set httpd port 2812 and
     use address 192.168.1.1 # and only accept connection from localhost
     allow 192.168.1.ZZ    allow 192.168.1.YY
     allow XXX:XXX     # user 'admin' with password 'monit'
#
    check device dysk with path /dev/hda1
    if space usage > 97% then exec "/etc/rc.d/samba2 restart"
       else if recovered then exec "/etc/rc.d/samba restart"
    mode passive
#
  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 host www.onet.pl with address 213.180.130.200
    if failed icmp type echo with timeout 3 seconds then alert
#
   check process sshd with pidfile /var/run/sshd.pid
   start program  "/etc/rc.d/sshd start"
   stop program  "/etc/rc.d/sshd stop"
   if failed port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout
#
check process smbd with pidfile /var/run/smbd.pid
   group samba
   start program = "/etc/rc.d/samba start"
   stop  program = "/etc/rc.d/samba stop"
   if failed host 192.168.1.1 port 139 type TCP  then restart
   if 5 restarts within 5 cycles then timeout
   depends on smbd_bin

 check file smbd_bin with path /usr/sbin/smbd
   group samba
   if failed checksum then unmonitor
   if failed permission 755 then unmonitor
   if failed uid root then unmonitor
   if failed gid root then unmonitor

 check process nmbd with pidfile /var/run/nmbd.pid
   group samba
   start program = "/etc/rc.d/samba start"
   stop  program = "/etc/rc.d/samba stop"
   if failed host 192.168.1.1 port 138 type UDP  then restart
   if failed host 192.168.1.1 port 137 type UDP  then restart
   if 5 restarts within 5 cycles then timeout
   depends on nmbd_bin

 check file nmbd_bin with path /usr/sbin/nmbd
   group samba
   if failed checksum then unmonitor
   if failed permission 755 then unmonitor
   if failed uid root then unmonitor
   if failed gid root then unmonitor
#
check process webmin with pidfile /var/webmin/miniserv.pid
   group webmin
   start program = "/etc/webmin/start"
   stop  program = "/etc/webmin/stop"
   if failed host 192.168.1.1 port 10000 then restart
   if 5 restarts within 5 cycles then timeout

Bardzo fajny ten program, proponuje dorzucic go do repozytorium.

_________________
FAQ dla NND: http://nnd-linux.pl/faq.php
Doswiadczenie, to cos, co zdobywasz tuz po chwili w ktorej go potrzebowales.


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 10 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 5 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl