Üdv!
Bocsi, de nem találtam olyan témát ami nekem kell, máséba meg nem akarok bele rondítani, így legyen egy kics vegyes téma.
Először is egy log file kérdésem lenne. Az apache webszerverem 4. napja megy és egyes domain-ek log fájljai elérik a 26,43,46 és 136 MB méretet. SUSE-ban tudom úgy működik, hogy egy bizonyos méret után összetömöríti és újat nyit. Ez egy Ubuntu 6.10 szerver. Tapasztalatok? Mivel ilyen gyorsan nő, így sűrgőssé vált a dolog ezért fórumozok, de keresem a megoldást közben én is.
Előre is köszi az infót. (Van még kérdésem, de ez most a fontos :-) )
- 1561 megtekintés
Hozzászólások
szia
logrotate nem jó neked ?
Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7
- A hozzászóláshoz be kell jelentkezni
Szia! Természetesen pont most találtam meg amikor már témát nyitottam. Most azt keresem, hogyan működik, és töröm a fejem, hogy miért nem automatikus ez?? Hihetetlen :(
- A hozzászóláshoz be kell jelentkezni
cronba téve automatikus lesz ;>
bár eleve cron.daily ben van logrotate, szóval naponta fut
csak kérdés hogy a logrotate hogy van beállítva, mert ha csak hetenként
kell rotálni, akkor hiába fut naponta
példa meg eleve szokott lenni, mert sok szerver. apache, mysql, stbstb
tesz fel logrotate scriptet is.
Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7
- A hozzászóláshoz be kell jelentkezni
most átírtam daily-re a conf-ban, az elérési út meg /var/log/apache2/*.log
- A hozzászóláshoz be kell jelentkezni
Logold egybe a vhostokat és a logformatot lődd be úgy,hogy valahova lerakja a hostnevet. Ha ez megvan, akkor logrotálj. Nálam egy külön script is van, ami az aktuális utolsó rotált logot átmásolja a napnak megfelelően és később a modlogan ebből hegeszti a napi statokat.
Ha mégiscsak külön szeretnéd, akkor meg kell mondani a logrotate-es scriptnek hogy miket forgasson és meddig.
- A hozzászóláshoz be kell jelentkezni
O, akkor első problémám megoldódni látszik!
Másik problémám, hogy 1 GB RAM van a szerverben, és nagyon sokat cachel. Feltettem a mumin-t és összevetettem a hup -éval, és nekem nagyon sok a narancssárga, vagyik a cache (~770MB).
Ezzel mit lehet kezdeni esetleg? Vagy az nem baj ha cacheli a RAM-ot mert attól az azt jelenti, hogy annyi áll a rendelkezésre? Bocsi, ha hülye kérdés :-)
Másik problémám a statisztikában a Load average értelmezése. Mit jelent? Az átlag 0,5 az ábra szerint.
A szerveren egyszerre kb 60-120 apache session van.
- A hozzászóláshoz be kell jelentkezni
Ez neked jo. Bovebb info: http://www.faqs.org/docs/linux_admin/buffer-cache.html vagy http://gentoo-wiki.com/FAQ_Linux_Memory_Management
- A hozzászóláshoz be kell jelentkezni
KÖszi, közben megnéztem ezeket, meg ennek segítségével találtam még más oldalakat is.
Akkor jöhet a következő :)
Amikor ftp-n (vsftp) feltöltök egy html állományt akkor a speciális karakterek átkódolódnak, pl.: ékezetes betű, a bekarikázott c betű stb ....
De ha aztán megváltoztatom a forrásban akkor az apache megmutatja tendesen.
Apache-ban átállítottam az AddDefaultCharset direktívát UTF-8-ra, mert azt gondoltam ez a hiba, de sajna nem. a Speciális karakterek helyett mindig egy pontot látok fekete háttérrel mc-vel megnyitva. Biztos volt másnak is ilyen.
- A hozzászóláshoz be kell jelentkezni
up
senki nem tud segíteni?
- A hozzászóláshoz be kell jelentkezni
az mc-nek mi koze az apache-hoz? az ssh kliensedben allitsd at a charactersetet UTF8-ra, ha putty-ot hasznalsz, ezt megteheted a translation pont alatt.
- A hozzászóláshoz be kell jelentkezni
Látom rosszul fejeztem ki magam.
Van egy html file (pl index.html) mondjuk ezzel a tartalommal:
Helló világ!
+ köré a html kód persze :-)
Ezt a fájlt a srác a saját gépéről feltölti ftp kapcsolaton keresztül a tárhelyére. Aztán megnézi milyen lett (http://oldalam.hu/index.html) és az ékezetes metűk elkódolódtak.
Erre én csak úgy belenéztem a forrásba MC-vel puttyon keresztül és ezt látom:
Hell. vil.g!
Átírom kézzel erre: Helló világ! és akkor működik, de én nem akarok mindent átírni kézzel.
Nah, ennyi lenne a probléma.
- A hozzászóláshoz be kell jelentkezni
Binárisként?
Amúgy meg HTML-ben ékezetes betű nem jobb lenne entityként?
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy jobb lenne, de nem én szerkesztem ezeket az oldalakat.
Gondolom ez esetben is van valami megoldás?!
- A hozzászóláshoz be kell jelentkezni
Szia!
Beszéltem a sráccal, Dreanweaver-ben készülnek a HTML oldalak.
Gondolom van benne olyan funkció, hogy az ékezetes betűket alakítsa át enity-ként. Ha igen, akkor szerinted menni fog? Mert mint mondtam akkor kletkezik a baj amikor feltölti a html oldalakat ftp-n keresztül. Akkor minden ékezetes bebűt átkonvertál egy karakter "."-á.
- A hozzászóláshoz be kell jelentkezni
bocsi, de most fontosabbá vált a logrotate probléma, ugyanis msot vettem észre, hogy az egyik log már 1,2 GB.
Próbáltam kézzel futtatni (sh /etc/cron.daily/logrotate), de semmi változás.
Így nézne ki
cat /etc/logrotate.d/apache2
/var/log/apache2/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Ez a default, nem nyúltam hozzá. A vsftp szintúny nem megy, viszont ás fájlokat meg darabol (pl.: daemon.log; dmesg; kern.log; syslog)
Találtam egy leírást amiben csak ez a két sokr van (missingok postrotate) de semmi eredmény :((
- A hozzászóláshoz be kell jelentkezni
Senki nem tud segíteni?
Most megpróbálkoztam ezzel:
logrotate -d /etc/logrotate.conf
ez beszédesebb lett, de minden apache logra ezt íera: "log does not need rotating"
módosítottam:
cat /etc/logrotate.d/apache2
/var/log/apache2/*.log {
daily
size=500k
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Most ilyeneket írt ki:
rotating pattern: /var/log/apache2/valami.net-access.log 102400 bytes (52 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/apache2/valami.net-access.log
log needs rotating
rotating log /var/log/apache2/valami.net-access.log, log->rotateCount is 52
previous log /var/log/apache2/valami.net-access.log.1 does not exist
renaming /var/log/apache2/valami.net-access.log.52.gz to /var/log/apache2/valami.net-access.log.53.gz (rotatecount 52, logstart 1, i 2),
[...]
renaming /var/log/apache2/valami.net-access.log.1.gz to /var/log/apache2/valami.net-access.log.2.gz (rotatecount 52, logstart 1, i 1),
renaming /var/log/apache2/valami.net-access.log.0.gz to /var/log/apache2/valami.net-access.log.1.gz (rotatecount 52, logstart 1, i 0),
renaming /var/log/apache2/valami.net-access.log to /var/log/apache2/valami.net-access.log.1
creating new log mode = 0640 uid = 0 gid = 4
removing old log /var/log/apache2/valami.net-access.log.53.gz
:((
- A hozzászóláshoz be kell jelentkezni
ideiglenes megoldásként magam öszetömörítettem, így az 1,2GB-ból lett 81MB.
Ha nem találok megoldást majd szkriptelem, de azért jó lenne tudni mi lehet a baj.
- A hozzászóláshoz be kell jelentkezni
Hali!
Nos a logrotate nem működik valami jól, egyelőre.
Ezért megpróbálom shell szkript-el.
Íme:
http://budacsik.atw.hu/logrotate.txt
A lényeg az lenne, hogy ez minden óra elsó percében lefut (1 * * * /ut/vonal.sh)
Minden log file-nak külön eltárolja a méretét byte-ban egy változóban, hogy megvizsgáljam nagyobb e 10MB-nál. ha igen, átnevezem, azt összetömörítem és így tovább az öszess log file-on, majd a végén apache restart, hogy újra létrehozza a log fájlokat üresen.
1. kérdés
Szerintetek ez a szkript így megfelelő? esetleg tud valaki egyszerűbbet ennél?
2. kérdés
Fut a webalizer is a cronban ami most óránként frissít, vagyis minden óra 0. percben (pl 3:00). Elviekben ha egy log file már nagyobb 10MB-nál és én az óra első percében (3:01) összetömörítem, akkor a következő órában (4:00) esedéks webalizer futása nem fogja beleszámolni az alatt az egy perc alatt történteket, mert csak az utolsó 59 percet látja a logban.
Ez sem nagyon jó így. Egy nap alatt ez már 24 perc veszteség. Hét nap alatt pedig már 2 óra 48 perc és had ne fokozzam.
3. csak a logrotate-et erőltessem megfelelő működésre??
- A hozzászóláshoz be kell jelentkezni
Hali!
Követkető kérdésem, hogy hogyan lehet optimálisan beállítani az apache-ot, vagyis mi a megfelelő beállítás amit 1GB RAM-al lehet győzni.
Most így van:
<IfModule prefork.c>
#StartServers 5
StartServers 8
MinSpareServers 5
MaxSpareServers 10
MaxClients 200
MaxRequestsPerChild 0
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 170
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Első kérdés, hogy mit jelent pontosan a két direktíva, mert a MaxClients paraméter mindkettőnél szerepel. A fájlban benne van, hogy pl a MaxClients azt jelenti, hogy maximum hány server folyamatot enged inditani, de mi a kettő közti különbség? Mert eddig 172 volt a legnagyobb eredmény amit erre kaptam (ps ax | grep apache -c) most megemeltem a számot 200-ra és most max 205 az eredmény.
Tehát elég ha a IfModule prefork.c direktívában emelem a számot amíg látom, hogy bírja a szerver? Mikor van szerepe a másik direkívában lévő MaxClients paraméternek?
Amit ki kellene szolgálni napi maximum 40.000 látogató egyelőre.
köszi
- A hozzászóláshoz be kell jelentkezni
up
Senki nem tud segíteni?
Amióta az az egy opciót 200-ra írtam sokszor van 170 felett a session-ök száma.
- A hozzászóláshoz be kell jelentkezni
Üdv!
Segítsetek...
A gondom röviden a következő.
debian:~#lynx localhost/ilias megy mint a kisangyal
c:\>start ht:-)tp:/{ip}/apache2-default/phpinfo.php mutatja hogy működik ahogy kell de
c:\>start {ht:-(tp:/{ip}/lias3 -ra csak magát a php állományt tölti le
szóval localhostról megy de kívülről nem! Valami hozzáférés féle lehet vagy mi...
mondjatok valami konfigot légyszi!
Köszi a segítséget
addigis keresgélek ;)
Kérdés:
How to tell apache? Hi this is php code!
vagy
<?
// php kód...
?>
Nekem ez is kell !
<?php
//ez is php
?>
- A hozzászóláshoz be kell jelentkezni
a második kérdésedrea válasz http://hu2.php.net/manual/hu/language.basic-syntax.php
Treddy
- A hozzászóláshoz be kell jelentkezni