#datadog
#datadog
Вопрос:
Когда сообщение отформатировано как json, оно автоматически превращается в атрибуты. Похоже, что атрибуты не могут быть запрошены без предварительного преобразования в фасеты (что применимо только к новым строкам журнала и означает, что иногда вам приходится видеть, как что-то отображается, затем огранять его, а затем отлаживать).
Есть ли способ запросить сообщение напрямую, минуя требование к фасету атрибута?
Ответ №1:
На самом деле это возможно, но вам нужно заключить каждый журнал JSON в одинарные кавычки или добавить некоторый префикс перед каждым журналом, чтобы агент Datadog рассматривал это как «текст». Например. log.json
файл должен содержать журналы в кавычках или с префиксом, которые будут обрабатываться как обычный текст:
'{"key1": "value1"}'
'{"key1": "value2"}'
'{"key1": "value3"}'
!{"key1": "value1"}
!{"key1": "value2"}
!{"key1": "value3"}
После этого в конфигурации журналов Datadog вам нужно добавить конвейер с фильтром Grok parser в json (см. Вкладку фильтра в сопоставителе и фильтре):
Это позволило мне выполнить полнотекстовый поиск по всем полям в моих журналах JSON и автоматически проанализировать все поля JSON как атрибуты.
P.S. Это решение было предоставлено службой поддержки Datadog 2 года назад. И, похоже, они работают над решением, позволяющим выполнять полнотекстовый поиск по журналам JSON.
Ответ №2:
Это невозможно, нет. Подтверждено поддержкой DD.