0

В AWS Cloudwatch я хотел бы извлечь значение из моих данных журнала. однако значение находится в поле сообщения. Есть ли в любом случае, я могу захватить последнее ограниченное значение пробела и записать его?AWS Cloudwatch метрическая фильтрация

т.е. мой лог-поток:

{"timestamp": 145674445, "message": "Starting new HTTP connection (1): XXXX", "severity": "INFO", "module": "connectionpool", "stack": []} 
{"timestamp": 145676445, "message": "Starting new HTTP connection (1): XXXX", "severity": "INFO", "module": "connectionpool", "stack": []} 
{"timestamp": 145676445, "message": "deactivated campaign: XXXX05XXXX554aaXXXX9069d4XXXXe7, runtime: 2.63", "severity": "INFO", "module": "credentials", "stack": []} 

для последнего журнала, я хотел бы, чтобы отфильтровать рисунок на что-то вроде

{($.message ="deactivated campaign:*, runtime: *")} 

, и я хотел бы быть в состоянии иметь метрическую значение I запись должна быть 2.63 или последняя строка с разделителями.

Я использую GUI для этого и не могу понять, как это сделать. Является ли это возможным?

Любая помощь заранее приветствуется!

ответ

0

Посмотрите на http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html

Что-то вроде этого (не проверял, но что-то вдоль этих линий):

metricFilter: { $.message = "deactivated campaign:*" } metricValue: $.runtime 
+0

Это не будет работать, как _runtime_ не подается на входе JSON; это подполе (из-за отсутствия лучшего слова) поля _message_. – dexterous

Смежные вопросы