Сначала вы хотите убедиться, что ваши журналы хорошо структурированы (что вы можете контролировать в конвейерах обработки данных Datadog ). По сути, вы захотите разобрать значения «кода» в некоторый атрибут «кода ошибки».
Если ваши события журнала имеют такой формат ...
2020-01-01 12:10:10 myservername - Server Error {"error":{"code":1001,"type":"MATCH","message":"Invoke failed: Failed"}}
... Тогда все, что вам нужно, это довольно простое правило синтаксического анализатора grok, благодаря фильтру "json" функция. Нечто подобное может привести вас туда, куда вы хотите (обратите внимание на часть %{data::json}
, это то, что анализирует в журнале JSON).
myrulename %{date("yyyy-mm-dd' 'HH:MM:ss"):timestamp} %{notSpace:hostname} - Server Error %{data::json}
После того, как вы настроили это, ваши журналы также будут иметь атрибут «error.code» со значением 2001
или 1001
или любым другим.
Второй вам нужно создать фасет для этого нового атрибута error.code
, чтобы вы могли создать топлист / timeseries / et c , графики сгруппированы по вашему фасету "код ошибки" .