RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.

50. Монитор exim

Монитор exim представляет собой приложение, которое показывает в оконной системе X информацию о состоянии очереди exim и о том, что exim делает. Административный пользователь может выполнять определённые операции с сообщениями из интерфейса GUI, однако, все эти средства доступны из командной строки, и монитор использует командную строку для выполнения запрошенных действий.

50.1. Запуск монитора

Монитор запускается путём запуска скрипта с именем eximon. Это скрипт shell, устанавливающий несколько переменных окружения, а затем запускающий файл с именем eximon.bin. Внешний вид окна по умолчанию может быть изменён путём редактирования файла Local/eximon.conf, созданного путём редактирования exim_monitor/EDITME. Комментарии в этом файле описывают, для чего какие параметры предназначены.

Параметры которые заданы в скрипте eximon, могут быть перезаданы для специфического запроса путём установки переменных окружения с теми же именами, с предшествующим EXIMON_. Например, команда типа:
EXIMON_LOG_DEPTH=400 eximon
(для Bourne-совместимой оболочки) запускает eximon с перезаданным параметром LOG_DEPTH. Если в окружении задана EXIMON_LOG_FILE_PATH, она перезадаёт конфигурацию файлов протоколов exim. Это делает возможным просматривать eximon данные, которые записаны в syslog, при условии, что MAIL.INFO сообщения syslog роутятся в файл на локальном хосте.

Ресурсы X могут использоваться для изменения появления окна обычным способом. Например, установка ресурса формы:
Eximon*background: gray94
изменяет цвет фона окна на светло-серый вместо белого. Пропущенные графики отображаются с обоими строками данных и строками ссылок чёрным цветом. Это означает, что ссылающиеся строки невидимы, когда они выше денных. Однако, их цвета могут быть изменены путём установки ресурса с именем highlight (странное имя, но это то, что используется виджетом графиков Athena). Например, если Ваш X-сервер работает под UNIX, Вы могли бы установить более светлые строки ссылок в графиках:
xrdb -merge <<End
Eximon*highlight: gray
End

Чтобы увидеть содержимое сообщений в очереди и оперировать ими, eximon нужно запускать от root или административного пользователя. Окно монитора резделено на три части. Первая содержит один или несколько графиков и две кнопки, второе содержит tail файла главного протокола, а третье показывает очередь сообщений, ожидающих доставки, с двумя кнопками. Следующие секции описывают различные отображаемые части.

50.2. Графики

Первый график это всегда счётчик сообщений в очереди. Его имя может быть сконфигурировано путём установки QUEUE_STRIPCHART_NAME в файле Local/eximon.conf. Оставшиеся графики задаются в конфигурационном скрипте путём регулярного выражения, совпадающего с вхождениями файла протокола, делая возможным отображение, например, графика доставленных к определённым хостам сообщений или использующих определённые транспорты. Графики, предоставленные по умолчанию: переданных и доставленных сообщений, локальных и SMTP-доставок. Период по умолчанию между обновлениями графиков одна минута, это может быть отрегулировано путём патаметра в файле Local/eximon.conf.

Графики самосоятельно автоматически перемасштабируются, как только изменяется отображаемое значение. В каждой диаграмме всегда есть 10 горизонтальных линий, строка заголовка указывает значение каждого делителя, когда он более одного. Например, x2 означает, что каждое деление имеет значение 2.

Также возможен график, который показывает процент заполненности дискового раздела, что полезно, когда локальные доставки ограничены одним разделом.

Он рассчитывает на доступность функции statvfs() или эквивалентной в системе. Большинство, но не все версии UNIX, поддерживающие exim, имеют её. Для этого специфического графика его вершина всегда будет 100%, а масштаб даётся как x10%. Эта диаграмма конфигурируется путём установки SIZE_STRIPCHART и опционально SIZE_STRIPCHART_NAME в файле Local/eximon.conf.

50.3. Кнопки главного действия

Ниже графиков находится кнопка для выхода из монитора. Рядом с ней кнопка, помеченная Size. Они располагаются тут так, чтобы уменьшая окно до минимального размера, оставались видимы лишь счётчик очереди и эти две кнопки. Нажатие кнопки Size вызывает разворачивание окна до его максимального размера, если оно ещё не максимальное, в случае чего оно минимизируется.

Раскрываясь до максимума, если окно не может быть полностью видимо там, где оно находится в настоящее время, оно двигается туда, где было в последний раз, когда было полного размера. Когда оно раскрывается из минимального размера, старая позиция запоминается, и в следующий раз при уменьшении оно двигается обратно.

Идея в том, что Вы можете оставить уменьшенное окно, показывающее один или два графика в удобном месте экрана, легко раскрывая, когда необходимо для показа полного окна, и снова легко сворачивая к прежнему размеру и месту. Идея скопирована с оконного менеджера twm, который делает это действием f.fullzoom. Минимальный размер окна может быть изменён путём установки значений MIN_HEIGHT и MIN_WIDTH в Local/eximon.conf.

Обычно монитор запускается с окном полного размера, но он может быть собран так, чтобы запускался с окном минимального размера путём установки START_SMALL=yes в Local/eximon.conf.

50.4. Показ протоколов

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

Субокно логов имеет полосу прокрутки в левой стороне, которая может использоваться для возврата назад, чтобы посмотреть более ранний текст, клавиши вверх и вниз также приводят к эффекту прокрутки. Количество сохраняемых протоколов зависит от установки LOG_BUFFER в Local/eximon.conf, определяющем используемое количество памяти. Когда она заполняется, отбрасываются 50% наиболее старых: это гораздо эффективнее, чем делать это построчно. Субокно также имеет полосу горизонтальной прокрутки для доступа к концу длинных строк. Это единственное средство горизонтальной прокрутки, правые и левые курсорные клавиши недоступны. Текст в этой части окна может быть скопирован, используя мышь обычным способом. Размер этого субокна контролируется параметрами конфигурационного файла Local/eximon.conf.

Поиск текста в окне может быть сделан путём нажатия ^R и ^S, которые, по умолчанию, обратный и прямой поиск, соответственно. Поиск охватывает лишь показанный в окне текст. Он не может двигаться дальше.

Точка, с которой начинается поиск, обозначена знаком циркумфлекса (^). Обычно это конец текста в окне, но он может быть явно помещён, указывая и кликая левой кнопкой мыши, а также автоматически перемещается при успешном поиске. Если в окне появляется новый текст, когда оно прокручивается назад, циркумфлекс остаётся на месте, но если окно назад не прокручивается, он двигается до конца нового текста.

Нажатие ^R и ^S вызывает всплывающее окно, в котором может быть введён искомый текст. В нём есть кнопки для выбора: прямой или обратный поиск, для выполнения поиска и отмены. Если нажата кнопка Search, происходит поиск, а окно остатёся таким образом, чтобы можно было производить дальнейшие поиски. Если нажата кнопка Return, завершается один поиск и окно закрывается. Если нажато ^C, поиск отменяется.

Средство поиска осуществлено, используя средства текстовых виджетов Athena. По умолчанию это всплывающее окно содержит обе опции search и replace. Для подавления нежелательной для eximon части replace с exim посталяется модифицированная версия виджета TextPop. Однако, компоновщики BSDI и HP-UX неспособны обработать предоставленную внешне версию TextPop, когда оставшиеся части текстового виджета берутся из стандартной библиотеки. Компиляционная опция EXIMON_TEXTPOP может быть сброшена для отключения модифицированного TextPop, позволяя собирать eximon на этих системах за счёт наличия нежелательных пунктов во всплывающем окне поиска.

50.5. Отображение очереди

Нижняя секция окна монитора содержит список всех сообщений в очереди, которые включают те, которые в данный момент получаются или доставляются, как и ждущие доставки. Размер этого субокна управляется параметрами в конфигурационном файле Local/eximon.conf, частотой обновления управляет другой параметр того же файла. По умолчанию это 5 минут, так как сканирование очереди может быть весьма накладным. Однако, есть кнопка Update, которая может использоваться для обновления отображения очереди в любой момент времени.

Когда хост некоторое время лежит, для него может собраться много ожидающей почты и может быть трудно иметь дело с другими сообщениями в очереди. Для помощи в этой ситуации есть кнопка рядом с Update с именем Hide. Если она нажата, появляется окно с диалогом Hide addresses ending with. Если Вы введёте что-либо в него и нажмёте Return, текст добавится к цепочке таких текстов, и если каждый недоставленный адрес в сообщении совпадает с одним из этих текстов, сообщение не показывается.

Если есть адрес, который не совпадает с каким бы то ни было текстом, все адреса показываются как обычно. Совпадение происходит с концом адресов, таким образом, например, cam.ac.uk определяет все адреса в Cambridge, тогда как xxx@foo.com.example задаёт лишь один специфический адрес. Когда настроено какое-либо сокрытие, отображается конпка с именем Unhide. Если нажать, она отменяет все сокрытия. Также для гарантии, что скрытые сообщения не будут забыты, запрос на скрытие автоматически отменяется через час.

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

Отображение очереди содержит для каждого нескрытого сообщения в очереди период времени, который оно находится в очереди, размер сообщения, идентификатор сообщения, отправителя сообщения и первого недоставленного получателя, всё в одной строке. Если это рикошет, отправитель показывается как <>. Если в нём более одного получателя, которому ещё не доставлено сообщение, последующие перечислены в дополнительных строках до максимального сконфигурированного числа, следом за которым показан эллипс. Получатели, которые уже получили сообщение, не отображаются. Если сообщение заморожено, в левой стороне показывается звёздочка.

У показа очереди есть вертикальная прокрутка, также оно может быть прокручено при помощи курсорных клавиш. Текст может быть скопирован, используя мышь обычным способом. Средства поиска по тексту, как описано выше, для окна протоколов также доступны, но символ вставки всегда перемещается до конца текста, когда обновляется отображение очереди.

50.6. Меню очереди

Если удерживается клавиша shift и кликается левая клавиша мыши, когда курсор мыши над текстом любого сообщения, всплывает меню действия, а первая строка очереди для сообщения подсвечивается. Это не имеет эффекта для любого выбранного текста.

Если Вы хотите использовать какое-то другое событие для всплывающего меню, можете задать паметр MENU_EVENT в Local/eximon.conf для изменения значения по умолчанию или установить переменную окружения EXIMON_MENU_EVENT до запуска монитора. Значение, устанавливаемое в этот параметр, стандартное применение события X. Например, для запуска eximon, используя ctrl вместо shift, можете использовать:
EXIMON_MENU_EVENT='Ctrl<Btn1Down>' eximon

Заголовок меню показывает идентификатор сообщения, и он содержит следующие записи:

  • message log: Содержимое протокола сообщений для сообщения показывается в новом текстовом окне.
  • headers: Информация из файла спула, которая содержит информацию конверта и заголовки, показанную в новом окне. Смотрите раздел 52 для описания формата файлов спула.
  • body: Содержимое файла спула, содержащее тело сообщения, показывается в следующем окне. Лимит по умолчанию 20000 байт для отображаемых данных. Он может быть изменён путём установки опции BODY_MAX при компиляции или опции EXIMON_BODY_MAX во время работы.
  • deliver message: Вызов exim делается, используя опцию -M для запроса доставки сообщения. Это вызывает автоматическое оттаивание, если сообщение заморожено. Также установлена опция -v, и вывод exim показывается в новом текстовом окне. Доставка запускается в отдельном процессе для избежания удержания окна монитора пока происходит доставка.
  • freeze message: Вызывается exim с использованием опции -Mf для запроса заморозки сообщения.
  • thaw message: Вызывается exim с использованием опции -Mt для запроса оттаивания сообщения.
  • give up on msg: Вызывается exim с использованием опции -Mg для запроса exim, чтобы он попробовал доставить сообщение. Для любых оставшихся недоставленных адресов генерируется рикошет.
  • remove message: Вызывается exim с использованием опции -Mrm для запроса удаления сообщения из системы без генерации рикошета.
  • add recipient: Показывается диалоговое окно, в которое может быть введён адрес получателя. Если адрес не квалифицирован, а в Local/eximon.conf установлен параметр QUALIFY_DOMAIN, адрес квалифицируется с заданным доменом. Иначе должен быть введён полностью квалифицированный адрес. Нажатие RETURN вызывает exim для использования с опцией -Mar для запроса добавления дополнительного получателя к сообщению, если же поле ввода пусто, никаких действий не предпринимается.
  • mark delivered: Отображается окно диалога, в котором может быть введён адрес получателя. Если адрес не квалифицирован, а в Local/eximon.conf установлен параметр QUALIFY_DOMAIN, адрес квалифицируется с заданным доменом. Иначе должен быть введён полностью квалифицированный адрес. Нажатие RETURN вызывает exim с использованием опции -Mmd для пометки заданного адреса получателя как уже доставленного, если же поле ввода пусто, никаких действий не предпринимается.
  • mark all delivered:: Вызывает exim с использованием опции -Mmad для пометки всех адресов получателей как уже доставленных.
  • edit sender: Окно диалога инициализируется с текущим адресом отправителя. Нажатие RETURN вызывает exim с использованием опции -Mes для замены адреса отправителя, если же поле ввода пусто, никаких действий не предпринимается.

Если Вы хотите использовать пустой адрес отправителя (как в рикошете), Вы должны задать <>. Иначе, если адрес не квалифицирован, а в Local/eximon.conf установлен параметр QUALIFY_DOMAIN, адрес квалифицируется с заданным доменом. Когда доставка форсируется, показывается окно с выводом -v. В других случаях, когда сделан вызов exim, если есть какой-либо вывод из exim (в частности, если команда неудачна), показывается окно, содержащее команду и вывод. Иначе, результат действия обычно очевиден из показа протоколов и очереди. Однако, если Вы установите в Local/eximon.conf опцию ACTION_OUTPUT=yes, окно, отображающее, что делает exim, открывается всегда, даже если вывод не генерируется.

Отображение очереди автоматически обновляется для действий типа заморозки и оттаивания, если не задана ACTION_QUEUE_UPDATE=no в Local/eximon.conf. В этом случае может использоваться кнопка Update для принудительного обновления после одного из этих действий.

В любом текстовом окне, которое показывает результат действия меню, доступны обычные средства копировать-вставить и может быть выполнен поиск, используя ^R и ^S, как описано выше, для окна просмотра хвоста протоколов.

Поиск

 

Найди своих коллег!