Хорошее программное обеспечение для удаленной регистрации / мониторинга приложений - PullRequest
0 голосов
/ 28 ноября 2011

Я уверен, что это уже сделано, но Google не помогает мне - меня заваливают ответами на похожие, но разные проблемы:

Мой начальник попросил меня найти или построить систему, которая будет регистрировать использование наших установок киоска. Мы создаем киоски, используя java, нативный c ++, c #, python и используя такие вещи, как Unity. Мы увидели другую компанию, с которой работали, используя простую систему, в которой почтовый вызов с данными регистрировался на удаленном сайте, чтобы проверить его позже. Система позволяла прикладному программисту определять содержание сообщения и могла распределять его для отладки или выпуска в соответствии с пожеланиями программиста.

Примером вывода журнала может быть:

[Debug] 28-11-2011 10:10:20 Kiosk1: Pulse
[Debug] 28-11-2011 10:10:25 Kiosk1: Button pressed
[Debug] 28-11-2011 10:10:45 Kiosk1: Widget used
[Debug] 28-11-2011 10:11:20 Kiosk1: Pulse

Я посмотрел на log4net / log4j, но, похоже, он не совместим с нативным c ++ или python. Я, наверное, ошибаюсь там :).

Кто-нибудь знает о системе, которая работает подобным образом, или которая в противном случае подойдет для регистрации на таких разных языках? Если нет, я могу написать свой достаточно легко. Я просто не хочу поддерживать это :)

С уважением, Стив

Ответы [ 6 ]

2 голосов
/ 28 ноября 2011

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

Вы можете использовать это, чтобы настроить свой собственный многоязычный сервер / систему регистрации.Мы использовали это, и это бесперебойно работает в нашей распределенной среде.

1 голос
/ 28 ноября 2011

Для C ++ я настоятельно рекомендую Poco logging . Это позволяет вам задавать форматирование и уровень / вывод журнала, например, используя файл свойств.

1 голос
/ 28 ноября 2011

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

Гораздо более простым решением является использование небольшого сценария, который планируется запускать один или несколько раз в день и который копирует файлы журналов в удаленное местоположение.

0 голосов
/ 28 ноября 2011

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

0 голосов
/ 28 ноября 2011

Используйте log4j / log4net с приложением-сокетом или ведите журнал удаленно через rsyslog.

0 голосов
/ 28 ноября 2011

библиотека журналов python , входящая в состав python, очень похожа на log4net, поэтому, если вы привыкли к ней, другие будут довольно просты для понимания, но они не разделяют код (насколько это возможно).как я знаю)

...