Как собирать и консолидировать состояние приложений по экземплярам в aws

. Мы развертываем несколько приложений в экземплярах EC2. Это файлы jar, файлы war на Tomcat, приложения пользовательского интерфейса на основе npm и сценарии Python.

У каждого свой способ проверки. Для файлов войны в веб-приложениях Tomcat я могу проверить пользовательский интерфейс swagger. Для UI-проектов я могу проверить ссылку на приложение. Для автономных скриптов jar и python я проверяю процесс, если он запущен.

Есть ли способ разместить проверки (на виртуальной машине или в AWS), которые отправляют статус (запущен / работает или не работает / отключен) в AWS, чтобы его можно было просматривать для всех приложений во всех экземплярах?

Я подумал об этом использование monit, т.е. запись конфигурации для мониторинга процессов и ссылок отдельных приложений. Но нет возможности отправить его на "единую" панель управления в AWS. У Monit есть своя панель управления, но она зависит от конкретного экземпляра. Итак, если у меня 20 экземпляров, есть 20 панелей мониторинга, например http: // IP: 2812 /. У него есть централизованная панель управления, которая не является открытым исходным кодом, поэтому я не могу ее использовать

Я проверил подкатегорию работоспособности ресурсов AWS в Cloudwatch.Это ограничено проверками процессора / памяти / состояния, и я не вижу способа настройки для отслеживания отдельных файлов jar / war

Я проверил AWS X ray и, увидев, что для этого требуются изменения в коде приложения, я думаю, что это будет извлекать слишком много данных, таких как число 4XX и 5XX (в этом нет необходимости, поскольку все, что мне нужно сделать, это проверить ссылки или процессы и сообщить об этом визуально)

Есть ли способ визуализировать состояние ресурсов всех приложений на всех экземпляров на одной панели / странице в AWS или в каком-либо инструменте с открытым исходным кодом?

0
задан 17 August 2021 в 13:16
1 ответ

Я предлагаю вам контролировать приложение, а не инфраструктуру. Cloudwatch Synthetics действует как веб-браузер и может отправлять оповещения на основе результатов запроса.

Если вы хотите осуществлять мониторинг на уровне компонентов, вам придется написать какой-нибудь скрипт, который отправляет данные в CloudWatch Metrics или Cloudwatch Logs с помощью API, что не особенно сложно. Оттуда вы можете оповещать о метриках или использовать фильтры метрик, чтобы оповещать о содержимом журнала.

0
ответ дан 17 August 2021 в 19:04

Теги

Похожие вопросы