Командная строка Middle Логи: Loki и ELK обновлено

Собрать логи запроса по trace_id

Условие

На stdin первая строка: искомый trace_id. Дальше JSON-логи нескольких сервисов, по одному объекту в строке, порядок ключей в объектах произвольный, значения ключей ts, service, level, trace_id, msg всегда строки без кавычек и обратных слешей внутри. Выведите все события с этим trace_id, отсортированные по ts (ISO 8601 в UTC с миллисекундами), в формате <ts> <service> <level> <msg>. Если событий нет, выведите not found.

Как подойти

Подсказки: 2
  1. В awk match() выставляет RSTART и RLENGTH найденного фрагмента.
  2. ISO-время в UTC сортируется как строка.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.