#amazon-web-services #aws-cloudwatch-log-insights
#amazon-веб-сервисы #aws-cloudwatch-log-insights
Вопрос:
В моем ALB включены журналы доступа, которые публикуются в AWS CloudWatch. У нас есть конечная точка проверки работоспособности сервиса, которая возвращает 200, если служба работает нормально. Если какой-либо из компонентов не работает должным образом, он вернет код HTTP-ответа 503. Могут быть и другие сценарии, например, служба недоступна, для которой ALB возвращает статус 5XX.
Мне удалось написать запрос CloudWatch Logs insights, который дает мне количество для каждого кода ответа HTTP.
fields @message
| parse @message "* * * *:* * * * * * * * * * * * *" as type, time, elb, client, port, target_port, request_processing_time, target_processing_time, response_processing_time, elb_status_code, target_status_code, received_bytes, sent_bytes, protocol, url, rest_of_the_message
| filter (strcontains(url, "ServiceHealth.php") and (elb_status_code = 200 or elb_status_code = 502 or elb_status_code = 503)
| stats count(*) by elb_status_code, elb_status_code
В результате будут получены следующие результаты:
Я бы хотел, чтобы результаты отображались в процентах, которые рассчитываются как:
Service Availability = (Number of responses with 200 Status Code/ (Total number of calls with 200 5XX Status Code)) * 100
Service Unvailability = (Number of responses with 5XX Status Code / (Total number of calls with 200 5XX Status Code)) * 100
Возможно ли достичь этого с помощью запроса Logs Insights?
Комментарии:
1. Вы когда-нибудь это понимали? Я знаю, что с момента публикации прошло 11 месяцев, но я думаю, что все равно спрошу.
2. Нет, извините, я никогда не понимал этого. Я пошел дальше и вычислил это вручную, чего я не хотел 🙂