Тема: Как узнать с каким vhost'ом работает конкретнвй httpd процесс
Что-то такое:
[root@server1 ~]# ps fauxwww | grep httpd
root 16199 0.0 0.0 7164 788 pts/1 S+ 13:03 0:00 \_ grep httpd
root 26583 0.9 0.3 1527652 127000 ? Ss 12:02 0:34 /usr/sbin/httpd: master
apache 26600 0.0 0.3 369760 112484 ? S 12:02 0:00 \_ /usr/sbin/httpd: master
apache 30091 2.4 1.1 1671232 365732 ? S 12:59 0:05 \_ /usr/sbin/httpd: idle
apache 30616 1.4 0.5 1538312 165784 ? S 13:00 0:02 \_ /usr/sbin/httpd: 212.59.2.84 [xxx.lt] GET /site/extra/import_csv.lt.html HTTP/1.0
apache 1991 1.8 1.0 1662936 341620 ? S 13:00 0:02 \_ /usr/sbin/httpd: 180.76.6.51 [www.xxx.lt] GET /Koreguotas%20Straipsnis-ll.pdf HTTP/1.1
apache 3502 4.3 1.0 1668408 345184 ? S 13:00 0:06 \_ /usr/sbin/httpd: 88.119.152.120 [www.xxx.lt] GET /kaledinis-sveikinimas/sound.mp3 HTTP/1.1
apache 8053 3.1 0.7 1572824 253768 ? S 13:01 0:03 \_ /usr/sbin/httpd: idle
apache 8055 3.1 1.0 1670508 349244 ? S 13:01 0:02 \_ /usr/sbin/httpd: idle
apache 11470 1.1 0.5 1548212 185476 ? S 13:02 0:00 \_ /usr/sbin/httpd: 78.61.221.64 [www.xxx.lt] GET / HTTP/1.1
apache 11544 1.5 0.6 1537208 205024 ? S 13:02 0:00 \_ /usr/sbin/httpd: idle
apache 11546 6.7 1.0 1670388 331672 ? S 13:02 0:04 \_ /usr/sbin/httpd: idle
apache 11550 2.3 0.6 1542408 209020 ? S 13:02 0:01 \_ /usr/sbin/httpd: 180.76.6.232 [www.xxx.lt] GET /doc/pavyzdziai.pdf HTTP/1.1
apache 11554 2.5 0.6 1543376 220496 ? S 13:02 0:01 \_ /usr/sbin/httpd: idle
apache 11557 4.2 0.6 1540164 206336 ? S 13:02 0:02 \_ /usr/sbin/httpd: idle
apache 13920 3.5 0.5 1543292 173408 ? S 13:02 0:01 \_ /usr/sbin/httpd: idle
apache 13929 8.5 1.1 1713140 374404 ? S 13:02 0:02 \_ /usr/sbin/httpd: idle
apache 14162 6.0 0.9 1668000 316672 ? S 13:02 0:01 \_ /usr/sbin/httpd: idle
apache 15400 15.5 0.6 1544724 206524 ? S 13:03 0:02 \_ /usr/sbin/httpd: 180.76.5.191 [www.xxx.lt] GET /page/en/eshop/kukurzai?eshop_sid=BIN85phvMiQ2kpx& HTTP/1.1
apache 15567 4.0 0.4 1541276 158800 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15622 0.5 0.4 1530992 132760 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15625 3.0 0.4 1535844 160536 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15847 3.0 0.4 1534136 151820 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15908 6.1 0.5 1538928 170404 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15909 1.3 0.4 1536876 135968 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15963 0.0 0.3 1530744 125200 ? S 13:03 0:00 \_ /usr/sbin/httpd: 61.55.141.11 [www.xxx.lt] POST /komentarai/1194/27768 HTTP/1.0
apache 15964 5.4 0.4 1531792 150748 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15965 0.0 0.3 1527652 119620 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 15966 0.0 0.3 1527652 119612 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 16114 3.0 0.3 1532780 127192 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 16158 0.0 0.4 1535852 132976 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
apache 16159 0.0 0.4 1531840 151804 ? S 13:03 0:00 \_ /usr/sbin/httpd: idle
Как этого добится:
1. инсталлируем пакеты
#yum install httpd-devel mod_perl gcc perl-prefork
2. Из cpan инсталируем модули перла
#cpan install Sys::Proctitle
#cpan install Apache2::ShowStatus
3. создаем apache конфиг
# cat /etc/httpd/conf.d/showstatus.conf
<IfModule mod_perl.c>
PerlModule Apache2::ShowStatus
PerlInitHandler Apache2::ShowStatus
</IfModule>
4. Вносим небольшое изменение в /usr/lib/perl5/site_perl/5.8.8/Apache2/ShowStatus.pm
--- ShowStatus.pm.orig 2011-05-22 14:19:26.122058102 +0300
+++ ShowStatus.pm 2011-05-22 14:21:01.030847967 +0300
@@ -16,7 +16,7 @@
my $r=shift;
$r->pnotes( 'ProctitleObject'=>
- Sys::Proctitle->new( 'httpd: '.$r->the_request ) );
+ Sys::Proctitle->new( 'httpd: ['.$r->get_server_name().'] '.$r->the_request ) );
return Apache2::Const::DECLINED;
}
6. Если строка обрывается как тут
# watch "ps -o user,pid,%cpu,args --sort=-%cpu -u apache -123 | egrep '^USER|httpd' | grep -v grep"
Every 2.0s: ps -o user,pid,%cpu,args --sort=-%cpu -u apache -123 | egrep '^USER|httpd' | grep -v grep Wed Jun 15 17:23:08 2011
USER PID %CPU COMMAND
apache 17503 1.6 httpd: [www.ttt.pl] G
apache 17415 1.4 /usr/sbin/httpd
apache 17416 1.4 /usr/sbin/httpd
apache 16374 0.0 /usr/sbin/httpd
apache 17887 0.0 /usr/sbin/httpd
То это проблема вашей консоли.