Фильтрация показателей 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: *")}

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

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

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


person Nick    schedule 29.02.2016    source источник


Ответы (1)


См. http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html

Что-то вроде этого (не тестировал, но что-то в этом роде):

metricFilter: { $.message = "deactivated campaign:*" } metricValue: $.runtime
person Mircea    schedule 29.02.2016
comment
Это не сработает, поскольку среда выполнения не указана во входных данных JSON; это подполе (из-за отсутствия лучшего слова) поля message. - person dexterous; 10.11.2016