Клиент / сервер Python для потоковой передачи обновлений файла журнала в реальном времени? - PullRequest
2 голосов
/ 27 сентября 2011

У нас есть приложения на серверах Solaris 10, которые генерируют текстовые лог-файлы. Нам необходимо передавать эти файлы журналов в режиме реального времени на центральный сервер для мониторинга новых событий.

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

В настоящее время мы используем фоновый хвост -f для передачи данных по SSH-туннелю.

Однако мы смотрели, стоит ли собирать что-то более надежное.

Я думал о написании простого клиента / сервера Python с Twistedb (или что-то подобное - рекомендации?) Для потоковой передачи данных журнала. Это легко достижимо? Какие-нибудь существующие библиотеки / инструменты, к которым я мог бы обратиться за идеями? Какие-либо проблемы, о которых я должен знать?

Кроме того, это Solaris 10, поэтому я не знаком с состоянием мониторов файловой системы. Я знаю, что Gamin доступен через OpenCSW. Однако есть ли другие варианты?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2011

Рассмотрим zeromq вместо необработанных сокетов. Это не сервер брокера сообщений, это библиотека, которая позволяет писать вашей системе передачи сообщений. Он обеспечивает простую межплатформенную и независимую от языка связь по протоколам TCP, IPC (да, межпроцессный!), Многоадресной и других. Просто поменяйте местами компонент Python с компонентом C, и он будет работать как прежде.

Это идеальное программное обеспечение для удовлетворения ваших "... оправданий учиться .."; -)

Но шоу-стоппер будет создавать его в вашей настройке Solaris. Привязки Python на http://pypi.python.org/pypi/pyzmq/2.1.9

0 голосов
/ 27 сентября 2011

Проверьте модуль регистрации Python. http://docs.python.org/library/logging.html

Содержит возможность входа в файлы, потоки, системный журнал, сетевые серверы и многое другое. Поваренная книга содержит примеры или вход по сети. http://docs.python.org/howto/logging-cookbook.html#logging-cookbook

Модуль довольно легко расширяется.

...