Налаштування Amazon Cloudwatch для отримання сповіщення, коли сервер не працює


13

У мене на екземплярі працює Amazon EC2, який я перетворив на веб-сервер.

Зараз я дивився на хмарний годинник, але не знаю, чи це правильний інструмент для роботи. В основному я хочу отримати інформацію, коли сервер не працює, з будь-якої причини.

Можливо, сервер зламали, або сервер з будь-якої причини закрився, я хочу отримати сповіщення про це.

Я ввімкнув Clouwatch і намагався налаштувати сповіщення, але бачу лише такі речі, як використання мережі або використання процесора, d метрика. Зараз я не знаю, чи зроблять це трюк.


1
каси cloudkick. я знаю, що ми не повинні поширювати думку, але cloudkick - це моє улюблене рішення для моніторингу. pingdom є досить марним, оскільки ваш сайт може бути pingable (apache / nginx), але ваш проксі-процес занадто php / java / ruby-процеси можуть не працювати. потрапляння на фактичну URL-адресу за допомогою Cloudkick кожні 3 хвилини та перевірка наявності вказаного вами тексту чи для 2xx успіху набагато корисніше та забезпечує весь стек працює. У мене є налаштування моніторів для завантаження даних, використання пам’яті, підключення агента (офлайн із сервером або відключення зв’язку), успіх http 2xx на сторінках тощо
iainlbc

Ви тут добре зробили. Якщо знизиться лише php, ви все одно отримаєте 200 відповідей. Посилання, яке ви надали, є хорошою альтернативою. Я погляну на це, коли прийму остаточне рішення.
Сайф Бечан

@iainlbc Ви можете встановити Pingdom, щоб він торкнувся фактичної URL-адреси та перевірив конкретний текст.
ceejayoz

Відповіді:


11

Одна з рекомендацій - контролювати показник, який завжди повинен мати числове значення - наприклад, використання процесора, і спрацювати тривогу, коли стан метрики "недостатньо даних", ви можете використовувати SNS Amazon, щоб повідомити про це.

Крім того, ви можете налаштувати власні показники, які повертають бінарний стан для певних служб (httpd, mysql тощо) та генерувати попередження будь-коли із цих зчитувань 0. Цей підхід пропонує можливість набагато точнішої деталізації - поєднувати його з 'недостатньою кількістю даних 'охоплювати всі справи.

Можливо, ви будете успішнішими, використовуючи щось, що фактично контролює ваш сайт (наприклад, Pingdom, UptimeRobot тощо).


Я подивився на такі сервіси, як pingdom, і обов'язково їх дозволю. Далі я також думав подивитися на процесор, але подумав, що станеться, коли просто зламається веб-сервер. Проведення тесту на httpd, mysql тощо, безумовно, допоможе. Чи можете ви підказати мені, як увімкнути цю двійкову метрику стану .
Сайф Бечан

Коротко: визначте спосіб отримати статус послуги, що цікавить (наприклад, ps | grep для pid / name; перевірити наявність використовуваного порту тощо) - тобто сценарій сторожової собаки. Змініть такий скрипт, щоб викликати API Cloudwatch (PutMetricData), передаючи йому або 0 (для вниз), або 1 (для вгору) - найкраще використовувати один із SDK, які існують для цього (наприклад, Ruby, PHP, тощо); версія командного рядка mon-put-data повільніше. Запустити все це з кроном.
cyberx86

1
Добре, що звучить трохи складно. Я думаю, що така послуга, як uptimerobot, стане кращим вибором для мене особисто. Дякую за всю допомогу.
Сайф Бечан

3

Ви можете використовувати OpsGenie ( http://www.opsgenie.com ) для надсилання розширеного сповіщення для CloudWatch. Currenly CloudWatch має обмежений набір механізмів оповіщення, включаючи електронну пошту та SMS через свій механізм SNS.

Ви можете налаштувати CloudWatch для виклику API веб-служб OpsGenie, отримувати потрібних людей швидко, шляхом натискання сповіщень на додатки iPhone / Android, SMS, голосових дзвінків тощо відповідно до уподобань одержувачів.

Будь ласка, перегляньте наступне повідомлення в блозі для отримання детальної інформації:

http://www.opsgenie.com/blog/2012/09/04/aws-cloudwatch-alarms-on-your-mobile-with-opsgenie.html


2

Ви можете створити будильник у Cloudwatch та встановити будильник, щоб повідомляти вас, коли він переходить у стан "Недостатньо даних". Більшість уже доступних показників надходять з VM Host, який не має реального уявлення про те, що відбувається всередині вашої машини.

На початку я рекомендую встановити інструменти Amazon у своєму екземплярі та встановити сценарій, щоб повідомити про щось, (що завгодно: використання процесора, що завгодно) та тривогу, якщо цей показник перестане надсилати дані (тому показник переходить у стан недостатнього даних) ).

Це лише мінімальний мінімум, але він повинен бути хорошим місцем для початку.

Дивіться розділ сценаріїв моніторингу посібника для розробників Cloudwatch: http://docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html


Дивовижне, саме те, що я шукав.
GivP

2

Ви можете використовувати маршрут 53 та його "перевірки стану здоров'я". Завдяки цьому ви можете надсилати сповіщення SNS, а також перенаправляти своїх користувачів на інший вторинний веб-сайт або екран помилок. Я думаю, що це краще рішення для вашої проблеми, ніж Cloudwatch.


2

Ви можете здійснити перевірку стану EC2 . Це зроблено на панелі приладів EC2. Перейдіть до екземплярів, виберіть свій примірник, виберіть вкладку перевірки стану (поруч із описом екземпляра) Клацніть на створенні сигналу перевірки стану. За замовчуванням "Перевірка статусу не вдалося (будь-який)" має бути хорошим. Я завжди встановлюю інтервал більше, ніж один, щоб не турбуватися про тимчасові проблеми.

Також можна встановити EC2 для автоматичного відновлення вашого примірника, якщо він з якихось причин знижується.

Я також рекомендую вторинну систему моніторингу. Німий добре для цього. Я налаштував утиліту linux, вказував на свій веб-сервер від іншого хоста. Якщо не вдасться отримати код відповіді 200 разів двічі поспіль, я отримую електронний лист.


1

Якщо ви хочете відстежувати кінцеві точки HTTP, такі як ваш API чи веб-сайт, ознайомтеся з моєю публікацією в блозі про те, як цього досягти за допомогою перевірок здоров’я маршруту 53 (навіть якщо ви не використовуєте Route 53 для DNS):

http://eladnava.com/monitoring-http-health-email-alerts-aws/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.