Как лучше всего записывать данные журнала из Kinesis в Cloudwatch?

Я работаю с системой с ограниченными ресурсами и не могу использовать файловую систему и сеть. Я создаю несколько журналов в этой системе и публикую их как часть своего ответа. Эти журналы отделяются от ответа и публикуются в Kinesis. У меня есть следующие данные журнала в JsonLayout в качестве полезной нагрузки для Kinesis.

{
  "timeMillis" : 1503336276808,
  "thread" : "main",
  "level" : "ERROR",
  "loggerName" : "com.psr",
  "message" : "From tests",
  "endOfBatch" : false,
  "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger",
  "threadId" : 1,
  "threadPriority" : 5
}
{
  "timeMillis" : 1503336312411,
  "thread" : "main",
  "level" : "ERROR",
  "loggerName" : "com.psr",
  "message" : "more logs",
  "endOfBatch" : false,
  "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger",
  "threadId" : 1,
  "threadPriority" : 5
}

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

Текущий план заключается в использовании AWS lambda и регистрации полезной нагрузки непосредственно в cloudwatch. Это кажется не изящным и шумным, поскольку время журналов и группы журналов будет заключено в окончательное время записи в лямбда-выражении.

Есть ли способ лучше?


person Prashant Singh Rathore    schedule 21.08.2017    source источник


Ответы (1)


Мы сделали аналогичное решение, используя лямбда.

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

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

Вы также можете поискать интеграцию kinesis firehose с elasticsearch

person Mohan Shanmugam    schedule 21.08.2017