Мы хотели бы вести учет всех основных событий в наших системах. Например, если в базе данных может храниться текущее состояние пользователя, в журнал событий должны записываться все изменения этого состояния, а также когда они произошли.
Средство ведения журнала событий должно быть максимально приближено к нулю для метателя событий, насколько это возможно, должно содержать структурированную информацию (в отличие от сообщений текстового журнала) и должно поддерживать распределенное развертывание (многие поля выдают много событий).
В прошлой жизни у нас была система на основе UDP, которая работала хорошо, потому что у нас был большой контроль над системой (минимизированная потеря пакетов). Четные метатели будут запускать UDP-пакеты, которые будут перехвачены и занесены в журнал на других компьютерах. Я ищу что-то похожее, надеюсь, с открытым исходным кодом, готовое к использованию и развернутое в более общих сетях. Кроме того, я открыт для предложений о том, как построить что-то вроде этого.
Это должно работать на нескольких языках, но будет в первую очередь предназначено для Java и Python. Участвующие (вызывающие события) заявки будут различаться; некоторые будут веб-приложениями, другие - пакетно-ориентированными приложениями. Результаты, скорее всего, будут жить в Hadoop / HDFS / HBase.