Как отправить данные из журналов IIS в журналы CloudWatch

Как я могу отправить данные из журналов IIS в журналы Amazon CloudWatch, чтобы я мог отслеживать производительность своего веб-сайта.

Одна из вещей, которую я пытаюсь отслеживать, - это средний размер моего веб-запроса. Я знаю, что журналы IIS содержат данные о размере веб-запроса (BytesRecv, ByteSent), и я могу сделать так, чтобы журналы CloudWatch читали мои файлы журналов IIS, но что я не могу понять, так это способ сообщить журналам CloudWatch, что BytesRecv, ByteSent должны обрабатываться как 2 точки данных.

1 ответ

Если вы можете получить эту информацию в журналах IIS, вы можете поделиться ими с журналами cloudwatch.

вы можете отправлять журналы через службу EC2Config или агент SSM, подробности описаны в этом посте.

Затем вы можете использовать существующие фильтры для своей группы журналов или создать настраиваемый фильтр для извлечения нужных полей из журналов -> так что это настраиваемая метрика журнала на основе фильтров журналов. например

[serverip, method, uri, query, port, dash, clientip, useragent, status, zero1, zero2, millis]

или какие-то специфические фильтры.

Таким образом, теперь вы можете использовать фильтры, как указано выше, или запросы Log Insight для создания панелей мониторинга.

Я не думаю, что сервис CloudWatch Logs имеет такую ​​возможность. Когда он принимает журналы, такие как IIS, вы можете создавать простые фильтры для сопоставления чего-либо, например, 404 ошибки, а затем вы можете создавать точки данных по количеству этих ошибок за определенный период времени. Однако я не нашел способа извлекать данные из журналов непосредственно в CloudWatch.

Я полагаю, что решением этой проблемы было бы использование Amazon Kinesis для извлечения файлов журнала из CloudWatch, а затем обработка их с помощью EMR для получения этих точек данных и последующего размещения этой информации в S3. Гораздо проще сказать, чем сделать, я знаю. Я думаю, что самой сложной частью этого было бы написание вашей логики EMR, а затем перевод этих данных в некий консолидированный формат для записи в S3. Я бы порекомендовал обратиться за помощью в этом районе.

Другой вариант заключается в том, чтобы Amazon Kinesis удалял файлы журналов в S3, а затем запускал действие Amazon Lambda при загрузке этих файлов журналов. Затем функция Lambda может анализировать эти файлы журналов, извлекать нужную информацию, помещать ее в какой-то json, xml и т. Д. И записывать ее в S3. Сложной частью здесь является написание лямбда-функции. Эта ссылка описывает, как использовать лямбду для анализа журналов CloudTrail, записанных на S3, так что вы, вероятно, могли бы следовать этой логике, чтобы сделать это.

http://docs.aws.amazon.com/lambda/latest/dg/wt-cloudtrail-events-adminuser.html

Другие вопросы по тегам