The OpenNET Project / Index page

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

Мониторинг почтовых серверов с помощью 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, который будет хранить данные и манипулировать графиками.

Скачайте последний релиз, на момент написания статьи это был 1.0.48. Проверьте сайт RRDtool на предмет наличия новых версий. Проверьте контрольную сумму MD5: Распаковываем RRDtool и переходим в каталог: Все как обычно: configure, make, и make install. Команда make site-perl-install также сделает жизнь легче в плане установки. После этого мы можем установить требуемые модули Time::HiRes и File::Tail. Mailgraph использует их для отслеживания почтовых логов. Их установка с использованием CPAN черезвычайно проста: Сейчас, когда предварительная подготовка закончена, займемся непосредственно Mailgraph. Скачиваем пакет: Затем распаковываем и переходим в каталог:

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

Сначала мы должны отконфигурировать под себя образцово-показательный скрипт mailgraph-init. Соответствующм образом редактируем MAIL_LOG и RRD_DIR, указывая путь к логам и к каталогу, где лежит скрипт mailgraph.cgi. Соответственно копируем и mailgraph-init: Затем кладем на место скрипт mailgraph.cgi, ответсвенный за рисование графиков: Теперь необходимо запустить mailgraph-init. В версии, которую скачал я необходимо изменить права доступа: Откройте браузер и просмотрите результат работы скрипта mailgraph.cgi - должны быть видны графики. Если это так - примите наши поздравления! А если нет - то еще раз внимательно проверьте пути в файлах конфигурации.

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



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

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

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

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

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



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

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




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру