mcavalon
@mcavalon
Девелопер

Как настроить правильно logstash+rabbitmq?

Использую библиотеку https://github.com/vyuldashev/laravel-queue-rabbitmq для передачи данных между микросервисами через rabbitmq.
Параллельно отправляю данные в ELK стек.
Данные, которые кладутся в rabbitmq:
{
  "_index": "logstash-2023.07.18-000001",
  "_type": "_doc",
  "_id": "HQ2rnYkBcWS-1EVIt1li",
  "_source": {
    "data": {
      "command": "O:21:\"App\\Jobs\\MSMessageJob\":4:{s:10:\"brokerEnum\";E:36:\"App\\Modules\\Enum\\BrokerEnum:RABBITMQ\";s:15:\"messageBatchDTO\";O:27:\"App\\Modules\\DTO\\MessagesDTO\":2:{s:8:\"messages\";O:33:\"Spatie\\LaravelData\\DataCollection\":2:{s:8:\"\u0000*\u0000items\";O:29:\"Illuminate\\Support\\Collection\":2:{s:8:\"\u0000*\u0000items\";a:1:{i:0;O:26:\"App\\Modules\\DTO\\MessageDTO\":3:{s:3:\"key\";s:4:\"user\";s:4:\"data\";O:23:\"App\\Modules\\DTO\\UserDTO\":4:{s:9:\"firstName\";s:6:\"Kendra\";s:8:\"lastName\";s:11:\"Oberbrunner\";s:3:\"age\";i:196;s:14:\"\u0000*\u0000_additional\";a:0:{}}s:14:\"\u0000*\u0000_additional\";a:0:{}}}s:28:\"\u0000*\u0000escapeWhenCastingToString\";b:0;}s:9:\"dataClass\";s:26:\"App\\Modules\\DTO\\MessageDTO\";}s:14:\"\u0000*\u0000_additional\";a:0:{}}s:10:\"connection\";s:8:\"rabbitmq\";s:5:\"queue\";s:3:\"elk\";}",
      "commandName": "App\\Jobs\\MSMessageJob"
    },
    "@timestamp": "2023-07-28T18:03:42.276Z",
    "id": "150d8e55-6ec7-49b4-a8d5-a98dcf47e70f",
    "job": "Illuminate\\Queue\\CallQueuedHandler@call",
    "displayName": "App\\Jobs\\MSMessageJob"
  },


Подскажите как написать фильтр в logstash для десериализации data.command и конвертации в json с последующей выборкой некоторых ключей из всего json?
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы