Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-08-08 13:59:58

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Monitorowanie demonów

Jest jakieś narzędzie w debianie co by umożliwiło monitorowanie określonych procesów w systemie i na wypadek zdechnięcia jakiegoś procesu, odpalało by go na nowo?

Offline

 

#2  2014-08-08 14:08:47

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Monitorowanie demonów

1.

Kod:

while true;do daemon;sleep 1;done

2. do crontaba

Kod:

* * * * * flock -en /tmp/daemon.lock daemon

obu używam.
może być?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2014-08-08 15:45:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie demonów

Po cóż rzeźbić w Cronie, jak jest do tego kilka gotowych narzędzi?

Np:
1. Monit:
http://www.debian-administration.org/article/269/Monitor_Debian_servers_with_monit

2. Daemontools:
Stosowany pierwotnie do Qmaila, trzeba w nim rzeźbić skrypty run, jest z tym trochę gimnastyki i czasem kombinowania, ale za to każdy uruchomiony proces dostaje takiego maleńkiego nadzorcę, program supervise, który po prostu pilnuje, czy demon jest uruchomiony.

Ostatnio zatrudniłem go do Nginxa, który został zrzucony z uprawnień roota:

Kod:

root      4838  0.0  0.0   1072   604 ?        S    sie07   0:19 supervise nginx
nginx     4914  0.0  0.0 175840  3864 ?        Ss   sie07   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     4915  0.0  0.1 175844  5460 ?        S    sie07   0:00 nginx: worker process

Niedawno też w ten sposób odpalałem clamd, bo mi się nie chciało kombinować ze zjebanym skryptem startowym demona clamd.
Skrypt do demontoolsa jest kosmicznie trudny, np:

Kod:

cat /service/nginx/run
#!/bin/sh
exec 2>&1
exec /usr/sbin/nginx -c /etc/nginx/nginx.conf -g 'daemon off;'

Sznurek:
http://cr.yp.to/daemontools.html
http://thedjbway.b0llix.net/daemontools/overview.html

3.Jak ktoś lubi rękodzieło artystyczne, to i bashem (albo zsh|csh) też się da:
http://ubuntu.pl/forum/viewtopic.php?f=135&t=159704
tylko w pętelkach while lepiej dać sleep na kilka sekund, żeby w razie jakiejś poważniejszej awarii demona (kiedy uparcie nie zamierza wstawać), nie dosować własnej maszyny.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-08-08 18:00:36)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2014-08-08 16:34:01

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Monitorowanie demonów

Możesz zaprzyjaźnić się z systemd.
Tam powinno działać to bez dłubaniny.

Kod:

man systemd.service

Offline

 

#5  2014-08-08 17:49:57

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie demonów

[quote=yossarian]Możesz zaprzyjaźnić się z systemd.
Tam powinno działać to bez dłubaniny.

Kod:

man systemd.service

[/quote]
Systemd - to jest gigantyczny [url=http://en.wikipedia.org/wiki/Single_point_of_failure]SPOF[/url] dla każdego systemu, do serwera nadaje się, jak 25 kg młotek blacharski do nosa.

W dodatku jest rozwijany jak NM czy PA, w RHEL chodzi idealnie zawsze,
w innych dystrybucjach już nie koniecznie, o ile developerzy danej dystrybucji nie sprawdzają z benedyktyńską dokładnością każdej kolejnej wersji.

Dlatego lepiej się trzymać takich programów, które robią tylko jedną rzecz,
ale  najlepiej, jak to jest możliwe,  wtedy w systemie jest względny spokój i porządek.

Tu conieco o jakości umysłowej Developerów Systemd:
http://www.muktware.com/2014/04/linus-torvalds-happy-systemd-author-kay-sievers/25151
Ale czego  się można  spodziewać po programie popełnionym przez ludzi w dużej części  związanych z rozwojem  PA.

Ostatnio edytowany przez Jacekalex (2014-08-08 18:01:19)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2014-08-08 18:20:56

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Monitorowanie demonów

W internetach są kilometrowe dyskusje na temat systemd i nie ma sensu toczyć kolejnej jałowej dyskusji na ten temat.

Pytanie brzmiało:

Jest jakieś narzędzie w debianie co by umożliwiło monitorowanie określonych procesów w systemie i na wypadek zdechnięcia jakiegoś procesu, odpalało by go na nowo?[/quote]
Odpowiedź brzmi: Tak. Istnieje i jest standardowo w systemie (od wersji Jessie).

A to, czy komuś się podoba systemd, czy nie, to już mnie nie musi interesować.

Systemd - to jest gigantyczny SPOF dla każdego systemu, do serwera nadaje się, jak 25 kg młotek blacharski do nosa.[/quote]
To musisz oświecić deweloperów RH, CentOS, Debiana i Ubuntu bo widocznie o serwerach nie mają zielonego pojęcia ;)

Offline

 

#7  2014-08-08 18:33:41

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Monitorowanie demonów

Oczywiście, że jest, oczywiście, że standardowo, i oczywiście, że moim zdaniem do wywalenia, z przyczyn wspomnianych dwa posty wyżej.

Dla porównania Daemontools:

Kod:

 svstat /service/*/
/service/freeswitch/: up (pid 32533) 1782 seconds
/service/nginx/: up (pid 32532) 1782 seconds
/service/php/: up (pid 32531) 1782 seconds

Tylko kłopot polega na tym, że daemontools strasznie "dużo" pamięci zajmuje:

Kod:

psmemng | egrep 'sv|super'
 12.0 KiB +   0.0 KiB =  12.0 KiB    supervise (3)
 88.0 KiB + 556.0 KiB = 644.0 KiB    svscan

Daemontools sprawdza się też w tak hardcorowych miejscach, jak np serwer, gdzie masz 16 pacjentów, każdy musi mieć osobny proces php z osobnym socketem unix, i do tego każdy proces php musi mieć indywidualnie, dla pacjenta, ustawione limity w cgroup, i osobny plik konfiguracyjny.

Wskazówka:
W SystemD i SysVinit też da się to zrobić, jak, to masz na lekturę do poduszki.:DDDD
Przyjemnej zabawy.
Możesz też przy okazji ujawnić tą słodką tajemnicę, po jaką cholerę na serwerze internetowym trzymać udev, logind i podobne bzdury, jak tam chodzi 5 usług na krzyż, każda na osobnym koncie pacjenta, w osobnej klatce ACL lub Chroot i z osobnymi limitami i priorytetami nice i ionice.

Moim zdaniem statyczny dev lub mdev, demony sieciowe, serwer SQL, syslog, ewentualnie snort, fail2ban czy inny IPS, i to wszystko.

PS:
Jak ożenić Fail2ban z SystemD i logami w postaci binarnej?

To musisz oświecić deweloperów RH, CentOS, Debiana i Ubuntu bo widocznie o serwerach nie mają zielonego pojęcia ;)[/quote]
Ile initów masz do wyboru w Debianie?
Nikogo oświecać nie muszę, uważam popularność SystemD za objaw instynktu stadnego, czy raczej konformizmu normatywnego.
Zwłaszcza, że głównym powodem wdrożenia SystemD było Gnome3 i LoginD,
czyli rzeczy na prawdziwych serwerach "niezbędne". ;)

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2015-03-08 08:12:04)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2014-08-08 18:43:32

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Monitorowanie demonów

Dobór oprogramowania to kwestia indywidualnych potrzeb i gustów. Szczególnie, że niemal zawsze jest jakaś alternatywa.
Jest kilka propozycji w tym wątku. Wśród nich jest i systemd.
Mnie akurat nie interesuje co ktoś chce u siebie instalować lub wywalać.

Poza tym przeczytaj uważniej pytanie:

Jest jakieś narzędzie w debianie co by umożliwiło monitorowanie określonych procesów w systemie i na wypadek zdechnięcia jakiegoś procesu, odpalało by go na nowo?[/quote]
i swoje wypowiedzi:

Systemd - to jest gigantyczny SPOF dla każdego systemu, do serwera nadaje się, jak 25 kg młotek blacharski do nosa.[/quote]

Możesz też przy okazji ujawnić tą słodką tajemnicę, po jaką cholerę na serwerze internetowym trzymać udev, logind i podobne bzdury, jak tam chodzi 5 usług na krzyż, każda na osobnym koncie pacjenta, w osobnej klatce ACL lub Chroot i z osobnymi limitami i priorytetami nice i ionice.[/quote]

Offline

 

#9  2014-08-08 19:21:26

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Monitorowanie demonów

Wiem, że na upstart na ubuntu ma to wbudowane w siebie, to pewnie podobne do systemd.

Ja jednak sobie obadam tego monita, bo z wierzchu co wyczytałem, to ma chyba wszystko czego potrzebuję.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.020 seconds, 18 queries executed ]

Informacje debugowania

Time (s) Query
0.00024 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00255 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.16.137.229' WHERE u.id=1
0.00096 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.137.229', 1732559596)
0.00085 SELECT * FROM punbb_online WHERE logged<1732559296
0.00097 DELETE FROM punbb_online WHERE ident='18.223.195.127'
0.00099 DELETE FROM punbb_online WHERE ident='3.141.35.27'
0.00083 DELETE FROM punbb_online WHERE ident='3.142.250.86'
0.00074 DELETE FROM punbb_online WHERE ident='3.147.89.50'
0.00069 DELETE FROM punbb_online WHERE ident='3.15.239.0'
0.00071 DELETE FROM punbb_online WHERE ident='3.15.239.50'
0.00079 DELETE FROM punbb_online WHERE ident='85.208.96.209'
0.00079 SELECT topic_id FROM punbb_posts WHERE id=272819
0.00006 SELECT id FROM punbb_posts WHERE topic_id=26230 ORDER BY posted
0.00079 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26230 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00177 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26230 ORDER BY p.id LIMIT 0,25
0.00100 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26230
Total query time: 0.01488 s