Ik heb sinds een tijdje een raar probleem. Ik heb een aantal webservers (lamp installaties) waar redelijk wat klanten op staan. Echter de afgelopen weken is het op 3 webservers al 1 of meer keren misgegaan met apache 1.3 (Alle machines draaien al 1-3 jaar zonder problemen tot nu). Apache lijkt constant nieuwe processen te spawnen, en hierdoor wordt de load op de server dusdanig hoog dat er weinig meer gebeurt. Apache serveert op dat moment dus niets meer. Na een -harde- (killall) restart van Apache werkt alles weer perfect, en apache is dan ook direct rustig dus aan te grote bezoekersaantallen ligt het niet.
In eerste instantie dacht ik dat het probleem wellicht te wijten was aan een script of htaccess bestand van een klant, maar doordat het op 3! losstaande webservers al is gebeurd in korte tijd lijkt me die kans eigenlijk vrij klein. In de logfiles van zowel apache als andere (syslog/kernel e.d.) komt niets te staan, geen errormeldingen van childs geen rare requests op dat tijdstip..daardoor weet ik eigenlijk weinig raad..
Is dit wellicht een nieuw soort aanval? Dan had ik er toch onderhand wel iets over gelezen?
Een klein voorbeeld van de open files van een apache proces op zo'n moment (kan ook de volledige listing geven). Die [heap] (stat: No such file or directory) lijkt me raar, maar dat kan natuurlijk aan de load op dat moment liggen:
De processlist laat (uiteraard) een enorme hoop apache processen zien (in S/R/D toestand lijkt me vrij normaal bij een load van 50+). Helaas heb ik nog geen /server-status op kunnen vragen omdat apache gewoonweg niet meer reageert.
Apache: 1.3.33-6sarge3 (debian stable dus)
Apache is "redelijk" geoptimalizeerd (geen rare dingen), en ik heb redelijk wat ervaring met drukke webservers. Dezelfde config gebruik ik eigenlijk al geruime tijd op meerdere servers zonder problemen. Ik kan uiteraard de MaxClients wat omlaag gooien, want de server gaat nu swappen met 150+ processen, maar de oorzaak ligt daar natuurlijk niet..
Heeft iemand een idee wat nog handig is om te checken op het moment dat het fout gaat, of meer mensen met dit probleem recentelijk? Ik ben er meestal vrij snel bij, maar ja..meestal wil ik de machine zo snel mogelijk weer up hebben dus voor onderzoek is er dan ook minder tijd plus dat het wat moeizaam gaat met een enorme load. Volgende keer wil ik wel tcpdump uitvoeren, die post ik dan uiteraard nog
In eerste instantie dacht ik dat het probleem wellicht te wijten was aan een script of htaccess bestand van een klant, maar doordat het op 3! losstaande webservers al is gebeurd in korte tijd lijkt me die kans eigenlijk vrij klein. In de logfiles van zowel apache als andere (syslog/kernel e.d.) komt niets te staan, geen errormeldingen van childs geen rare requests op dat tijdstip..daardoor weet ik eigenlijk weinig raad..
Is dit wellicht een nieuw soort aanval? Dan had ik er toch onderhand wel iets over gelezen?
Een klein voorbeeld van de open files van een apache proces op zo'n moment (kan ook de volledige listing geven). Die [heap] (stat: No such file or directory) lijkt me raar, maar dat kan natuurlijk aan de load op dat moment liggen:
code:
1
2
3
4
5
6
7
8
| COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME apache 31289 www-data cwd DIR 8,1 4096 2 / apache 31289 www-data rtd DIR 8,1 4096 2 / apache 31289 www-data txt REG 8,1 284876 572355 /usr/sbin/apache apache 31289 www-data mem REG 0,0 0 [heap] (stat: No such file or directory) apache 31289 www-data mem REG 8,1 499136 376144 /usr/lib/locale/locale-archive apache 31289 www-data DEL REG 0,7 19595267 /SYSV00000000 apache 31289 www-data DEL REG 0,7 20086785 /SYSV00000000 |
De processlist laat (uiteraard) een enorme hoop apache processen zien (in S/R/D toestand lijkt me vrij normaal bij een load van 50+). Helaas heb ik nog geen /server-status op kunnen vragen omdat apache gewoonweg niet meer reageert.
Apache: 1.3.33-6sarge3 (debian stable dus)
Apache is "redelijk" geoptimalizeerd (geen rare dingen), en ik heb redelijk wat ervaring met drukke webservers. Dezelfde config gebruik ik eigenlijk al geruime tijd op meerdere servers zonder problemen. Ik kan uiteraard de MaxClients wat omlaag gooien, want de server gaat nu swappen met 150+ processen, maar de oorzaak ligt daar natuurlijk niet..
Heeft iemand een idee wat nog handig is om te checken op het moment dat het fout gaat, of meer mensen met dit probleem recentelijk? Ik ben er meestal vrij snel bij, maar ja..meestal wil ik de machine zo snel mogelijk weer up hebben dus voor onderzoek is er dan ook minder tijd plus dat het wat moeizaam gaat met een enorme load. Volgende keer wil ik wel tcpdump uitvoeren, die post ik dan uiteraard nog
[ Voor 10% gewijzigd door Robert op 15-01-2007 15:48 ]
Just 'cause I'm paranoid doesn't mean they're not after me | The only operating system that does what you want: LFS