Тема: Как узнать с каким 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

То это проблема вашей консоли.