Hozzászólások
sziasztok
a problémám a kovetkezo
van egy debian woody szerver amit felugyelek es naponta elofordul hogy megall az apache
a kerdesem az hogy tudtok e olyan programot amely ellenorzi egy masik program futasat, jelen esetben az apache, es ha megallna akkor elstart-olja ujra ?
- A hozzászóláshoz be kell jelentkezni
[quote:c6180fb7d0="meridian"]sziasztok
a problémám a kovetkezo
van egy debian woody szerver amit felugyelek es naponta elofordul hogy megall az apache
a kerdesem az hogy tudtok e olyan programot amely ellenorzi egy masik program futasat, jelen esetben az apache, es ha megallna akkor elstart-olja ujra ?
Én nagios-t (www.nagios.org) használok központi ellenőrző programként. Ez egy webes felület, ahol gépenként be lehet állítani, hogy mit ellenőrizzen. Van hozzá egy rakat plugin.
Saját kezüleg is írhatsz plugineket (akár bash-ben).
Két féle képpen ellenőrizheted a távoli gépet:
- telepítesz egy nagios daemon-t (fejből nem tudom a nevét)
- snmp-n olvasod be az adatokat
Én snmp-n keresztül oldottam meg az ellenőrzést. Ehhez ügye a távoli gépeken telepítve kell lenni snmp daemonnak.
Ha érdekel küldhetek bash-ben megírt scripteket, amik pl op.rendszertől függetlenül olvassák a lemeztelítettséget, memóriát stb...stb...
Célszerű nagios-t legfrissebb változatát telepíteni forrásból.
Üdv:
aThom
- A hozzászóláshoz be kell jelentkezni
Jut eszembe, a lényeg lemaradt:
Na daemon-t telepítesz, akkor lehet eseményeket is kezeltetni vele. Pl.:
Ha nem működik az apache (ami ellenőrzi: tcp plugin nagios-ba), akkor restartolja az apache-t.
És egyébb inyencségek...
Üdv:
aThom
- A hozzászóláshoz be kell jelentkezni
[quote:b12238af1a="athom"]Jut eszembe, a lényeg lemaradt:
Na daemon-t telepítesz, akkor lehet eseményeket is kezeltetni vele. Pl.:
Ha nem működik az apache (ami ellenőrzi: tcp plugin nagios-ba), akkor restartolja az apache-t.
És egyébb inyencségek...
Üdv:
aThom
hmmm....koszonom a jo tancsokat ki fogom probalni
meridian
- A hozzászóláshoz be kell jelentkezni
[quote:b32b71dd17="meridian"][quote:b32b71dd17="athom"]
Ha nem működik az apache (ami ellenőrzi: tcp plugin nagios-ba), akkor restartolja az apache-t.
hmmm....koszonom a jo tancsokat ki fogom probalni
Tuneti kezeles... Ha lyukas a fogad es faj, akkor nem fajdalomcsillapitot adnak, hanem vagy betomik, vagy kihuzzak.
Miert nem arultad el a kernel verzioszamat, az apache verzioszamat, miert nem ideztel be error.log reszletet, esetleg strace kimenetet?
Egyebkent szerintem minden reggel fel hetkor all meg. Nem?
asd
- A hozzászóláshoz be kell jelentkezni
[quote:8496411c77="asd"]Miert nem arultad el a kernel verzioszamat, az apache verzioszamat, miert nem ideztel be error.log reszletet, esetleg strace kimenetet?
Tényleg: egy futó daemon esetén, hogy tudok strace kimenetet adni?
[quote:8496411c77="asd"]Egyebkent szerintem minden reggel fel hetkor all meg. Nem?
Van valami bug, vagy te miattad áll le reggelente ? :lol:
Üdv:
aThom
- A hozzászóláshoz be kell jelentkezni
Szia,
Itt egy kis buta bash "daemon" ami csekkel egy processzt, majd ha az esetleg leallt ujrainditja (a leallasrol levelet kuld) es fut tovabb. Remelem hasznat veszed.
[code:1:5a29ccd98c]#!/bin/sh
# Email address to mail the result
recipient=ideirj@domain.hu
# From address (leave it blank to receive mails from root)
from=process-check@domain.hu
pid=/var/run/syslog-ng.pid
command="/etc/init.d/syslog-ng start"
check_process ()
{
ps --no-heading `cat $1` >/dev/null 2>/dev/null
}
while [ 0 != 1 ]; do
if check_process $pid
then
continue
else
(printf "From: $from\nTo: $recipient\nSubject: Process checking $host report\n\n";
$command ) | /usr/lib/sendmail -t || {
echo $0 error 1>&2
continue
}
fi
done
[/code:1:5a29ccd98c]
- A hozzászóláshoz be kell jelentkezni
[quote:ba8fd14d41="asd"]Egyebkent szerintem minden reggel fel hetkor all meg. Nem?
Van valami bug, vagy te miattad áll le reggelente ? :lol:
Logrotate-ra gondol.
- A hozzászóláshoz be kell jelentkezni
tényleg a logrotate utan all le, viszont a logrotate-ben mar atirtam az apache restart-ot stop, start-ra hatha segit, de semmi...
- A hozzászóláshoz be kell jelentkezni
[quote:9b74db77bd="meridian"]tényleg a logrotate utan all le, viszont a logrotate-ben mar atirtam az apache restart-ot stop, start-ra hatha segit, de semmi...
Szia, eleg neki egy reload is.
Mukodo pelda:
[code:1:9b74db77bd]/var/log/apache/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
/etc/init.d/apache reload > /dev/null
endscript
}
[/code:1:9b74db77bd]
- A hozzászóláshoz be kell jelentkezni
en igy csinalom es itt all meg nekem, miutan mindent megcsinalt...
#!/bin/bash
BASE='/var/log/apache'
WEBLOGS=(
"domain1.hu"
"domain2.hu"
)
for my_log in "${WEBLOGS[@]}"; do
if test -f "$BASE/$my_log/access.log"; then
/usr/bin/webalizer -c "/etc/webalizer/wb-$my_log.conf" "$BASE/$my_log/access.log"
/usr/bin/savelog -t "$BASE/$my_log/access.log"
/usr/bin/savelog -t "$BASE/$my_log/error.log"
#echo "/etc/webalizer/wb-$my_log.conf"
#echo "$BASE/$my_log/access.log"
fi
done
#apache restart
/etc/init.d/apache stop
/etc/init.d/apache start
- A hozzászóláshoz be kell jelentkezni
[quote:964256153d="meridian"]en igy csinalom es itt all meg nekem, miutan mindent megcsinalt...
#!/bin/bash
BASE='/var/log/apache'
WEBLOGS=(
"domain1.hu"
"domain2.hu"
)
for my_log in "${WEBLOGS[@]}"; do
if test -f "$BASE/$my_log/access.log"; then
/usr/bin/webalizer -c "/etc/webalizer/wb-$my_log.conf" "$BASE/$my_log/access.log"
/usr/bin/savelog -t "$BASE/$my_log/access.log"
/usr/bin/savelog -t "$BASE/$my_log/error.log"
#echo "/etc/webalizer/wb-$my_log.conf"
#echo "$BASE/$my_log/access.log"
fi
done
#apache restart
/etc/init.d/apache stop
/etc/init.d/apache start
Nem lenne egyszerubb megnezni azt, hogy mi az oka annak, hogy leall az apache? Es mondjuk az okot megszuntetni, nem tuneti kezelest alkalmazni?
- A hozzászóláshoz be kell jelentkezni
[quote:a6f94fbef0="Anonymous"]Nem lenne egyszerubb megnezni azt, hogy mi az oka annak, hogy leall az apache? Es mondjuk az okot megszuntetni, nem tuneti kezelest alkalmazni?
Abban amit irt szo sem volt tuneti kezelesrol, csak leirta, hogy O hogy rotalja a logokat.
Meridian: Ha ezt a scriptet kezzel lefuttatod, tokeletesen mukodik minden? Tehat a script futasa utan szepen ujraindul az apacs?
- A hozzászóláshoz be kell jelentkezni
pontosan az a problemam hogy a logban szinte semmi nincs :(
az error.log mondjuk 4 napos es nincs 1 oldal...
- A hozzászóláshoz be kell jelentkezni
[quote:e8e38e0533="meridian"]pontosan az a problemam hogy a logban szinte semmi nincs :(
az error.log mondjuk 4 napos es nincs 1 oldal...
Loglevel-t fel kene emelni. Vigyazz, mert nagyon ``beszedes'' lesz!
- A hozzászóláshoz be kell jelentkezni
[quote:b164049fdb="trey"][quote:b164049fdb="meridian"]pontosan az a problemam hogy a logban szinte semmi nincs :(
az error.log mondjuk 4 napos es nincs 1 oldal...
Loglevel-t fel kene emelni. Vigyazz, mert nagyon ``beszedes'' lesz!
hmm....hol emelem fel a loglevelt ?:)
- A hozzászóláshoz be kell jelentkezni
[quote:60009003cd="meridian"][quote:60009003cd="trey"][quote:60009003cd="meridian"]pontosan az a problemam hogy a logban szinte semmi nincs :(
az error.log mondjuk 4 napos es nincs 1 oldal...
Loglevel-t fel kene emelni. Vigyazz, mert nagyon ``beszedes'' lesz!
hmm....hol emelem fel a loglevelt ?:)
httpd.conf
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
default nekem warn-on van. Ez csak a figyelmezteteseket irja a logba. Tedd debug-ra. De nagy mennyisegu logra szamits! Szinten minden lepeset logolja!
- A hozzászóláshoz be kell jelentkezni
[quote:a85f71dedd="Sea-you"]Szia,
Itt egy kis buta bash "daemon" ami csekkel egy processzt, majd ha az esetleg leallt ujrainditja (a leallasrol levelet kuld) es fut tovabb. Remelem hasznat veszed.
[code:1:a85f71dedd]#!/bin/sh
# Email address to mail the result
recipient=ideirj@domain.hu
# From address (leave it blank to receive mails from root)
from=process-check@domain.hu
pid=/var/run/syslog-ng.pid
command="/etc/init.d/syslog-ng start"
check_process ()
{
ps --no-heading `cat $1` >/dev/null 2>/dev/null
}
while [ 0 != 1 ]; do
if check_process $pid
then
continue
else
(printf "From: $from\nTo: $recipient\nSubject: Process checking $host report\n\n";
$command ) | /usr/lib/sendmail -t || {
echo $0 error 1>&2
continue
}
fi
done
[/code:1:a85f71dedd]
a másik dolog hogy nagyon tetszik nekem ez a kis script , de példaképpen elmondaná vki hogy hogyan irom at pl az apache-ra, mert ugye annak nincs /*vagy nagyon vak vagyok ami elofordulhat*/ pid-je
- A hozzászóláshoz be kell jelentkezni
[quote:ea24cf02b4="meridian"][quote:ea24cf02b4="Sea-you"]Szia,
Itt egy kis buta bash "daemon" ami csekkel egy processzt, majd ha az esetleg leallt ujrainditja (a leallasrol levelet kuld) es fut tovabb. Remelem hasznat veszed.
[code:1:ea24cf02b4]#!/bin/sh
# Email address to mail the result
recipient=ideirj@domain.hu
# From address (leave it blank to receive mails from root)
from=process-check@domain.hu
pid=/var/run/syslog-ng.pid
command="/etc/init.d/syslog-ng start"
check_process ()
{
ps --no-heading `cat $1` >/dev/null 2>/dev/null
}
while [ 0 != 1 ]; do
if check_process $pid
then
continue
else
(printf "From: $from\nTo: $recipient\nSubject: Process checking $host report\n\n";
$command ) | /usr/lib/sendmail -t || {
echo $0 error 1>&2
continue
}
fi
done
[/code:1:ea24cf02b4]
a másik dolog hogy nagyon tetszik nekem ez a kis script , de példaképpen elmondaná vki hogy hogyan irom at pl az apache-ra, mert ugye annak nincs /*vagy nagyon vak vagyok ami elofordulhat*/ pid-je
Hat nem tudom, nekem van pidje.
httpd.pid a neve
szerintem valami ott igen el van ganyolva... milyen linux ez?
- A hozzászóláshoz be kell jelentkezni
sorry trey mondom hogy vak vagyok vagy hule :)
nalam apache pid...amugy debilla
- A hozzászóláshoz be kell jelentkezni
Az Apache-os valtozat
igy inditsd ./process-check &
[code:1:948c998a61]#!/bin/sh
# Email address to mail the result
recipient=ideirj@domain.hu
# From address (leave it blank to receive mails from root)
from=process-check@domain.hu
pid=/var/run/apache.pid
command="/etc/init.d/apache start"
check_process ()
{
ps --no-heading `cat $1` >/dev/null 2>/dev/null
}
while [ 0 != 1 ]; do
if check_process $pid
then
continue
else
(printf "From: $from\nTo: $recipient\nSubject: Process checking $host report\n\n";
$command ) | /usr/lib/sendmail -t || {
echo $0 error 1>&2
continue
}
fi
done
[/code:1:948c998a61]
- A hozzászóláshoz be kell jelentkezni
Még van egy nagyon alap ötlet, ezt a legnagyobb lamerek hasznaljak.
Ezt csak , hacsak semmi mas nem megy, vegso esetben hasznald.
Ez egy szkiript.
Leírom.
#Start of script
#!/etc/cron.hourly
ps -xa > /process
mail [e-mail címed] </process
#end of script
Ezt természetesen érted.
- A hozzászóláshoz be kell jelentkezni
[quote:41c794c6ff="meridian"]nalam apache pid...amugy debilla
nalam ott virit a /var/run/http.pid. neked télleg nincs olyan?
- A hozzászóláshoz be kell jelentkezni
[quote:7d6b495fe9="athom"][quote:7d6b495fe9="asd"]Miert nem arultad el a kernel verzioszamat, az apache verzioszamat, miert nem ideztel be error.log reszletet, esetleg strace kimenetet?
Tényleg: egy futó daemon esetén, hogy tudok strace kimenetet adni?
[quote:7d6b495fe9="asd"]Egyebkent szerintem minden reggel fel hetkor all meg. Nem?
Van valami bug, vagy te miattad áll le reggelente ? :lol:
Te aztan nagyon akarsz valaszt a kerdesedre...
A reggeli fel hetes logrotete viszi el, latatlanban mondom.
Amugy szerinted egy produktiv szerveren megengedheto-e 5 perc felesleges allas is?
Nem a hibajelenseget kell megszuntetni, hanem a hiba okat.
Ha tovabbra is ilyen lamer ez a thread, ne varjatok tolem tobb postot.
asd
- A hozzászóláshoz be kell jelentkezni
[quote:d2fe07169b="Anonymous"]Ha tovabbra is ilyen lamer ez a thread, ne varjatok tolem tobb postot.
ok, de remélem csak azért nem, mert a linux-kezdő topicba postolod az itteni kérdésekre a választ :lol:
- A hozzászóláshoz be kell jelentkezni