Использую библиотеку
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?