Назад | Перейти на главную страницу

Свистящие отростки периодически умирают

У меня очень странная проблема. Некоторые процессы на моем почтовом сервере, но не все, периодически умирают (примерно раз в два месяца). Некоторые из умирающих процессов:

Не умирают следующие процессы:

Моя система работает (Debian Wheezy):

$ uname -a
Linux hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux

Я прошел через /var/log файлы, но все они, кажется, довольно давно после инцидента, который всегда происходит в 6:25 утра.

Сначала я подумал, что это что-то с ntpdate ежедневный cron, поэтому я удалил его и заменил на ntpd которому вместо этого не нужен cron. Это помогло? Нет.

Тогда я подумал, что это что-то с syslogd делать. Похоже, что все умирающие процессы пытаются войти в систему с помощью syslog. Я погуглил, но не нашел никого, у кого была бы такая же проблема, как у меня. Действительно сложно найти, в чем проблема, когда ваш механизм ведения журнала не работает!

Вот все файлы журнала, которые были изменены примерно во время инцидента (6:25). После этого времени журналов нет, все журналы прекращаются! Пожалуйста, обратите внимание, если вы видите что-то, что может привести к остановке процессов или прекращению ведения журнала.

/ var / журнал / системный журнал

Feb 16 06:25:01 hostname /USR/SBIN/CRON[32606]: (root) CMD (/usr/local/ispconfig/server/server.sh 2>&1 > /dev/null | while read line; do echo `/bin/date` "$line" >> /var/log/ispconfig/cron.log; done)
Feb 16 06:25:01 hostname /USR/SBIN/CRON[32607]: (getmail) CMD (/usr/local/bin/run-getmail.sh > /dev/null 2>> /dev/null)
Feb 16 06:25:01 hostname /USR/SBIN/CRON[32608]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))
Feb 16 06:25:02 hostname dovecot: imap-login: Disconnected (disconnected before greeting, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<v9PKQn/y+gB/AAAB>
Feb 16 06:25:02 hostname postfix/smtpd[32647]: connect from localhost[127.0.0.1]
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [milter][end][connect][stop][0.000481](37362): milter-greylist
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [session][end][connect][accept][0.09962](37361)
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [sessions][finished] 18681(+1) 0
Feb 16 06:25:02 hostname postfix/smtpd[32647]: lost connection after CONNECT from localhost[127.0.0.1]
Feb 16 06:25:02 hostname postfix/smtpd[32647]: disconnect from localhost[127.0.0.1]

/var/log/php5-fpm.log

[09-Feb-2014 06:25:07] NOTICE: error log file re-opened
[16-Feb-2014 06:25:06] NOTICE: Terminating ...
[16-Feb-2014 06:25:07] NOTICE: exiting, bye-bye!

/var/log/mail.log

Feb 16 06:25:02 hostname dovecot: imap-login: Disconnected (disconnected before greeting, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<v9PKQn/y+gB/AAAB>
Feb 16 06:25:02 hostname postfix/smtpd[32647]: connect from localhost[127.0.0.1]
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [milter][end][connect][stop][0.000481](37362): milter-greylist
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [session][end][connect][accept][0.09962](37361)
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [sessions][finished] 18681(+1) 0
Feb 16 06:25:02 hostname postfix/smtpd[32647]: lost connection after CONNECT from localhost[127.0.0.1]
Feb 16 06:25:02 hostname postfix/smtpd[32647]: disconnect from localhost[127.0.0.1]

/var/log/mail.info

Feb 16 06:25:02 hostname dovecot: imap-login: Disconnected (disconnected before greeting, waited 0 secs): user=<>, rip=127.0.0.1, lip=127.0.0.1, secured, session=<v9PKQn/y+gB/AAAB>
Feb 16 06:25:02 hostname postfix/smtpd[32647]: connect from localhost[127.0.0.1]
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [milter][end][connect][stop][0.000481](37362): milter-greylist
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [session][end][connect][accept][0.09962](37361)
Feb 16 06:25:02 hostname milter-manager[2855]: [statistics] [sessions][finished] 18681(+1) 0
Feb 16 06:25:02 hostname postfix/smtpd[32647]: lost connection after CONNECT from localhost[127.0.0.1]
Feb 16 06:25:02 hostname postfix/smtpd[32647]: disconnect from localhost[127.0.0.1]

/var/log/fail2ban.log

2014-02-16 06:25:06,899 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:07,271 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/other_vhosts_access.log
2014-02-16 06:25:07,275 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:07,279 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:07,281 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:07,283 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/other_vhosts_access.log
2014-02-16 06:25:07,269 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/other_vhosts_access.log
2014-02-16 06:25:07,287 fail2ban.server : INFO   Stopping all jails
2014-02-16 06:25:07,719 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:08,461 fail2ban.jail   : INFO   Jail 'php-url-fopen' stopped
2014-02-16 06:25:08,595 fail2ban.actions: WARNING [apache-w00tw00t] Unban 178.32.243.78
2014-02-16 06:25:08,702 fail2ban.actions: WARNING [apache-w00tw00t] Unban 83.212.122.172
2014-02-16 06:25:09,270 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:09,283 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:09,285 fail2ban.jail   : INFO   Jail 'apache-w00tw00t' stopped
2014-02-16 06:25:09,298 fail2ban.filter : INFO   Log rotation detected for /var/log/apache2/error.log
2014-02-16 06:25:10,325 fail2ban.jail   : INFO   Jail 'apache-noscript' stopped
2014-02-16 06:25:11,361 fail2ban.jail   : INFO   Jail 'pam-generic' stopped
2014-02-16 06:25:12,330 fail2ban.jail   : INFO   Jail 'apache-badbots' stopped
2014-02-16 06:25:13,294 fail2ban.jail   : INFO   Jail 'apache-nohome' stopped
2014-02-16 06:25:14,326 fail2ban.jail   : INFO   Jail 'ssh-ddos' stopped
2014-02-16 06:25:14,827 fail2ban.jail   : INFO   Jail 'exim' stopped
2014-02-16 06:25:15,393 fail2ban.jail   : INFO   Jail 'webmin' stopped
2014-02-16 06:25:16,330 fail2ban.jail   : INFO   Jail 'apache' stopped
2014-02-16 06:25:17,296 fail2ban.jail   : INFO   Jail 'ssh' stopped
2014-02-16 06:25:18,285 fail2ban.jail   : INFO   Jail 'apache-overflows' stopped
2014-02-16 06:25:18,504 fail2ban.jail   : INFO   Jail 'dovecot' stopped
2014-02-16 06:25:19,333 fail2ban.jail   : INFO   Jail 'squirrelmail' stopped
2014-02-16 06:25:20,335 fail2ban.jail   : INFO   Jail 'apache-myadmin' stopped
2014-02-16 06:25:20,336 fail2ban.server : INFO   Exiting Fail2ban

/var/log/auth.log

Feb 16 06:25:01 hostname CRON[32604]: pam_unix(cron:session): session opened for user root by (uid=0)
Feb 16 06:25:01 hostname CRON[32605]: pam_unix(cron:session): session opened for user getmail by (uid=0)
Feb 16 06:25:01 hostname CRON[32603]: pam_unix(cron:session): session opened for user root by (uid=0)
Feb 16 06:25:01 hostname CRON[32605]: pam_unix(cron:session): session closed for user getmail
Feb 16 06:25:02 hostname CRON[32604]: pam_unix(cron:session): session closed for user root

Во-первых, ваша машина каждые пару месяцев в 6:25 делает что-то странное. Я бы посмотрел на ВСЕ задания cron.

Затем, если ничто не кажется подделкой, попробуйте сопоставить свои проблемы с журналом ядра. Проблема dmesg и ищите проблемы нехватки памяти, в этом случае ядро ​​БУДЕТ уничтожать процессы, чтобы избежать ситуации, которая может вызвать панику.

Также обратите внимание на /var/log/ispconfig/cron.log

Если вы подозреваете несанкционированный доступ к вашему ящику, проверьте /usr/local/ispconfig/server/server.sh

P.S: Я бы также попытался выяснить, когда впервые возникла эта проблема, а затем внимательно посмотрел на изменения, сделанные до этого

РЕДАКТИРОВАТЬ:

Я заметил ваш последний комментарий, было бы очень полезно написать простой сценарий оболочки, чтобы использовать память, когда эти задания выполняются.

пример

#!/bin/sh
somefile="/your/file/path"
date >>$SomeFile
free -m >>$SomeFile

Отредактируйте cronjobs и запустите его за пару секунд ДО того, как ваши задания потребляют память, и пару секунд ПОСЛЕ, а затем сравните результаты. Это должно помочь вам решить, когда обновлять память, изменять конфигурацию программного обеспечения и т. Д.

P.S: Как видите, это базовый сценарий, но в качестве отправной точки его можно использовать. Вы можете улучшить это дальше