The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Мониторинг почтовых серверов с помощью Mailgraph (monitor mail graph statistic postfix)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: monitor, mail, graph, statistic, postfix,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 10:52:03 Subject: Мониторинг почтовых серверов с помощью Mailgraph
by David Ky 08/12/2004

Перевод: Сгибнев Михаил

Много системных администраторов довольно хорошо подкованы в деле установки и настройки почтовых серверов, но с каждым днем системы растут и маштабируются, а требования к надежности все возрастают. Просмотр логов с помощью tail уже не позволяет понять, что же делает почтовый сервер, когда он обрабатывает сотни и тысячи писем в минуту. В этом случае на помощь приходят текстовые или графические средства мониторинга и Mailgraph - одно из них.

На сайте Mailgraph заявлено: "Mailgraph - очень простое, основанное на RRDtool средство ведения статистики для Postfix, предоставляющее дневные, недельные и месячные графики полученных/посланных и bounce/отброшенных сообщений. "

David Schweikert, автор Mailgraph, дает возможность посмотреть на его работу.

В конечном итоге, установка Mailgraph позволит нам наглядно увидеть обьемы почтового трафика, в числовом и графическом представлении, проходящие через определенный сервер. Если Вы когда либо использовали подобные средства, например MRTG, то представляете себе, как незаменимы они могут быть при необходимости быстро диагностировать возникшую проблему. Диаграммы могут отбразить информацию о прошлом, настоящем и иногда даже о будущем.

Вы, возможно, заметили, что мы также упомянули RRDtool. RRDtool - часть программного обеспечения, созданного Tobi Oetiker и она способна сохранять данные в Round Robin Database (RRD) и отображать эти данные. Если Вам нет необходимости использовать Mailgraph, то с помощью RRDtool можно контролировать и другие параметры, типа средней загрузки или температуры.

Установка Mailgraph

Здесь в качестве MTA мы будем использовать Postfix и предположим, что он уже установлен из исходных текстов или системы пакетов и функционирует. Если Вы этого еще не сделали, то скачайте исходные тексты с Web сайта Postfix.

Обратите внимание, что в системе также уже установлены amavisd-new совместно SpamAssassin и ClamAV для борьбы с вирусами и спамом. Mailgraph будет функционировать и без этих компонентов, просто будут отсутствовать соответствующие графики.

Mailgraph требует наличия следующих компонентов:
  • RRDtool
  • Модули Perl Time::HiRes и File::Tail. Скачайте их с CPAN:
      
      perl -MCPAN -e shell
      
      
  • Сам Mailgraph
Сперва установите RRDtool, который будет хранить данные и манипулировать графиками.

Скачайте последний релиз, на момент написания статьи это был 1.0.48. Проверьте сайт RRDtool на предмет наличия новых версий.
    
    david@toys david $ wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.0.48.tar.gz
    
    
Проверьте контрольную сумму MD5:
    
    david@toys david $ wget http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.0.48.tar.gz.md5
    david@toys david $ md5sum -c rrdtool-1.0.48.tar.gz.md5
    rrdtool-1.0.48.tar.gz: OK
    
    
Распаковываем RRDtool и переходим в каталог:
    
    david@toys david $ tar -xvzf rrdtool-1.0.48.tar.gz
    david@toys david $ cd rrdtool-1.0.48
    
    
Все как обычно: configure, make, и make install. Команда make site-perl-install также сделает жизнь легче в плане установки.
    
    david@toys rrdtool-1.0.48 $ sh configure
    david@toys rrdtool-1.0.48 $ make
    david@toys rrdtool-1.0.48 $ sudo make install
    david@toys rrdtool-1.0.48 $ sudo make site-perl-install
    
    
После этого мы можем установить требуемые модули Time::HiRes и File::Tail. Mailgraph использует их для отслеживания почтовых логов. Их установка с использованием CPAN черезвычайно проста:
    
    david@toys david $ sudo perl -MCPAN -e shell
    cpan> install Time::HiRes
    cpan> install File::Tail
    cpan> quit
    
    
Сейчас, когда предварительная подготовка закончена, займемся непосредственно Mailgraph. Скачиваем пакет:
    
    david@toys david $ wget http://people.ee.ethz.ch/~dws/software/mailgraph/pub/mailgraph-1.8.tar.gz
    
    
Затем распаковываем и переходим в каталог:
    
    david@toys david $ tar -xvzf mailgraph-1.8.tar.gz
    david@toys david $ cd mailgraph-1.8
    
    

Конфигурируем Mailgraph

Сначала мы должны отконфигурировать под себя образцово-показательный скрипт mailgraph-init. Соответствующм образом редактируем MAIL_LOG и RRD_DIR, указывая путь к логам и к каталогу, где лежит скрипт mailgraph.cgi.
    
    david@toys mailgraph-1.8 $ vi mailgraph-init
    MAIL_LOG=/var/log/mail.log
    RRD_DIR=/var/www/virtual/cgi-bin/toys.example.com/cgi-bin/
    
    
Соответственно копируем и mailgraph-init:
    
    david@toys mailgraph-1.8 $ sudo cp mailgraph.pl /usr/local/bin/mailgraph.pl
    
    
Затем кладем на место скрипт mailgraph.cgi, ответсвенный за рисование графиков:
    
    david@toys mailgraph-1.8 $ cp mailgraph.cgi /var/www/virtual/toys.example.com/cgi-bin/
    
    
Теперь необходимо запустить mailgraph-init. В версии, которую скачал я необходимо изменить права доступа:
    
    david@toys mailgraph-1.8 $ chmod 755 mailgraph-init
    david@toys mailgraph-1.8 $ sudo ./mailgraph-init start
    
    
Откройте браузер и просмотрите результат работы скрипта mailgraph.cgi - должны быть видны графики. Если это так - примите наши поздравления! А если нет - то еще раз внимательно проверьте пути в файлах конфигурации.

Для запуска mailgraph-init на этапе начальной загрузки неоходимо будет отредактировать файл rc.local или скопировать и отредактировать скрипт init соответственно своему дистрибутиву. Обычно, запуск mailgraph-init из rc.local является самым простым, добавьте строку подобно этой:
    
    /etc/init.d/mailgraph-init start
    
    
Вот образец графика:



Не особо волнуйтесь, если не видите синих или зеленых линий - построение хороших графиков занимает время, оставьте Mailgraph в покое и попробуйте снова через некоторое время. Если MTA обрабатывает почту, то Mailgraph это должен будет отобразить.

Если Вы не можете заставить работать Mailgraph или нашли баг, то Вы можете подписаться на список рассылки, послав письмо с сабжем subscribe на адрес mailgraph-reques(at)list.ee.ethz.ch.

Установили, настроили, все работает. Что я вижу?

Mailgraph теперь будет весьма ценен при анализе работы Вашего почтового сервера. При невозможности увидеть мгновенную эффективность фильтрации, Mailgraph способен отобразить ее за некоторое время.

Например, диаграмма на рисунке 2 может указать на несколько вещей.



  • Скорость отклонения писем для этого сервера довольно высоко. Это может быть вызвано несколькими факторами - возбожно большой набор header_checks или соединения происходят с хостами, перечисленными в используемой нами базе RBL. Если скорость продолжает расти, хорошо бы проверить почтовый лог на наличие аномалий в доставке почты.
  • Количество bounces невелико, но если покопаться, то можно найти причины их появления.
  • Количество полученных вирусов нормально для этого почтового сервера и нет никаких признаков вирусной атаки. Но все же стоит обновить антивирусные базы ClamAV, используя утилиту freshclam.
  • На этой неделе очень мало спама. Не стоит тревожиться, но такое маленькое количество могло получиться из-за большого объема отклоненных писем, возможно у нас ложные срабатывания через наш header_checks. Если у нас выставлены слишком жесткие критерии на спам стоит переконфигурировать SpamAssassin с тем, чтобы добавить новые правила, удалить часть нашего header_checks, чтобы позволить проходить большему количеству почты.
Mailgraph может также помочь Вам в обнаружении атак и оценить ущерб. Для примера, если у Вас имеется выделенный почтовый сервер, то анализируя среднюю нагрузку, количество спама, вирусов, отброшенных писем можно увидеть факт атаки и уже анализируя почтовые логи выявить адрес атакуещего хоста, а затем использовать системы фильтрации или RBL. И Ваши пользователи не должны говорить Вам, что электроннаяпочта работает медленной. Вы будете видеть это раньше чем наступит кризит и принимать соответствующие меры.

Другие идеи

Если необходимо контролировать несколько хостов, то просто сделайте одну индексную страницу, которая содержит все изображения от Ваших различных инсталляций Mailgraph. Для этого просмотрите текст mailgraph.cgi и просто "захватите" ссылки на рисунки. Это должно выглядеть так:



Показ графиков Mailgraph может стать аргументом в борьбе за апгрейд почтового сервера. Если сервер помирает от нагрузки и начальство бьет копытом по поводу пропавшей почты - покажите им графики загрузки вместе со счетом на новое оборудование.

Пожалуйста, помните, что Mailgraph не снимает с вас необходимости быть бдительным и чутко следить за потоками писем во все стороны.

З.Ы. bounce - отброшенные сообщения, но чем они отличаются от reject я плохо себе представляю. Напишите в форуме - внесу исправления в статью.
З.З.Ы перевод очень вольный в силу корявости языка оригинала. Но все технические детали сохранены.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
 
  • 1, adil_18, 16:22, 17/04/2007 [ответить] [смотреть все]
  • +/
    configure: WARNING:
    ----------------------------------------------------------------------------
    * I could not find a working copy of freetype2. Check config.log for hints on why
      this is the case. Maybe you need to set LDFLAGS and CPPFLAGS appropriately
      so that compiler and the linker can find libfreetype and its header files. If
      you have not installed freetype2, you can get it either from its original home on

         http://prdownloads.sourceforge.net/freetype/

      You can find also find an archive copy on

         http://oss.oetiker.ch/rrdtool/pub/libs

      The last tested version of freetype2 is 2.1.10.

           LIBS=-lz -lm
       LDFLAGS=
      CPPFLAGS= -I/usr/include/freetype2

    kak le4it ???????

     
  • 2, adil_18, 15:53, 18/04/2007 [ответить] [смотреть все]
  • +/
    a kak traffic monitorit ?
     
  • 3, HappyS, 13:53, 24/09/2007 [ответить] [смотреть все]
  • +/
    я поставил из портов на freeBSD - не могу запустить / и ничего не пишет / а дистрибутив из официального фтп расчитан только под линукс
     
     
  • 4, Denis CyxoB, 01:13, 02/12/2007 [^] [ответить] [смотреть все]
  • +/
    >я поставил из портов на freeBSD - не могу запустить / и
    >ничего не пишет / а дистрибутив из официального фтп расчитан только
    >под линукс

    Столкнулся с подобной проблемой. Лечится путём установки прав на чтение почтового лог-файла пользователю "www".

    chmod o+r /var/log/maillog

    В моей FreeBSD 6.2 по умолчанию Mailgraph запускается из-под этого имени пользователя.

     
  • 5, Steel_Rat, 12:49, 22/01/2008 [ответить] [смотреть все]
  • +/
    Посмотрел исходники - вроде все довольно просто.
    Но одного не могу понять...
    Там есть две переменные:
    $xpoints и $points_per_sample.
    Можно предположить, что xpoints - кол-во пикселей на графике. Исходя из этих значений и периода мониторинга считается количество консолидируемых отсчетов на одну ячеку архива.
    Но, блин! Что за величина $points_per_sample??
    Проклинило и не могу понять...
    Подскажите дураку!
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor