Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
• Новости
• Последние поступления
• Книжный магазин
  Hardware:
• Видеоустройства
• Системные платы
• Процессоры
• Мобильные устройства
• Аудиосистема
• Охлаждение системы
• Накопители информации
• КПК и ноутбуки
• Телефоны и связь
• Периферия
• Система
• Сети
• Разные устройства
 
  Programming:
• Web-разработка
• Языки программирования
• Технологии и теория
• Разработка игр
• Программная инженерия
 
  Software:
• Операционные системы
• Windows 7
• Базы данных
• Обзоры программ
• Графика и дизайн
   
  Life:
• Компьютерная жизнь
• Разные материалы
   
• Партнеры
• Публикация
• Правовая информация
• Реклама на сайте
• Обратная связь
• Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Использование syslog для логирования работы программ/скриптов

Раздел: Software / Linux @ 02.12.2007 | Ключевые слова: syslog логи логи скриптов версия для печати

Автор: mike
Источник: CodeNet

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

Большая часть этих сообщений не являются критичными. Например, <Невозможно соединится с сервером>, <Обработано файлов столько-то>, <Затрачено времени столько-то> и т.п. Я рассмотрел два основных варианта этой проблемы:

Первый вариант, в лоб - использовать перенаправление вывода или собственные лог-файлы. Этот вариант не удобен для мониторинга, так как придётся просматривать больше количество файлов отчётов.

Второй вариант - не изобретать велосипед и использовать syslog.

syslog - стандарт отправки сообщений о происходящих в системе событиях (логов), использующийся в компьютерных сетях, работающих по протоколу IP.

Протокол syslog прост: отправитель посылает короткое текстовое сообщение, размером меньше 1024 байт получателю сообщения. Получатель при этом носит имя , , либо же, . Сообщения могут отправляться как по UDP, так и по TCP. Как правило, такое сообщение отсылается в открытом виде.

Syslog используется для удобства администрирования и обеспечения информационной безопасности. Он реализован под множество платформ и используется в множестве устройств. Поэтому, использование syslog позволяет обеспечить сбор информации с разных мест и хранение её в едином репозитории.

Как правило syslog и syslogd работают внутри одного сервера (то есть все соединения локальны) и никакой внешней сетевой деятельности не производится.

Теперь, как все это выглядит на практике.

Perl:

use Sys::Syslog;

openlog("имя вашей программы", "ndelay,pid", "local0");

syslog(LOG_WARNING, "Программа запущена");

...

# тут программа

...

syslog(LOG_WARNING, "Программа завершила выполнение");

closelog();

PHP:

openlog("имя вашей программы", LOG_PID | LOG_PERROR, LOG_LOCAL0);

syslog(LOG_WARNING,"Программа запущена");

...

// тут программа

...

syslog(LOG_WARNING, "Программа завершила выполнение");

closelog();

C/C++:

#include openlog("имя вашей программы", 0, LOG_USER);

syslog(LOG_NOTICE, "Can not open file "%s" for writing.",filename);

closelog();

Далее можете поискать ваши сообщения в журналах syslog. Тут все зависит от настроек syslogd. Обычно это /var/log/messages.

В документации PHP написано, что в windows тоже работает, но я не пробовал.

Подробнее о флагах и значениях можно прочитать в руководствах:








версия для печатиРаспечатать статью


Вернуться в раздел: Software / Linux


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.