Требуется обратная связь для решения по мониторингу приложений / данных - PullRequest
1 голос
/ 13 сентября 2010

Я являюсь основным разработчиком очень чувствительной системы для моей компании. Этот код разработан довольно хорошо, но в нем есть несколько недостатков, которые делают его немного нестабильным. Мы, конечно, работаем над устранением недостатков, которые вызывают проблемы со стабильностью, но в то же время у нас время от времени возникают некоторые проблемы. «Неправильная» вещь, идущая «неправильно», может быть очень плохой для компании, хотя крайне важно, чтобы между тем мы быстро выявляли и решали проблемы. В долгосрочной перспективе я хотел бы иметь автоматизированную систему мониторинга для проверки работоспособности данных и других вещей, которые будут уведомлять нас о проблемах по мере их возникновения. Хотя сейчас, чтобы убедиться, что ничего катастрофического не произойдет, прежде чем мы доберемся до этой точки, я ищу некоторый совет.

У нас есть несколько проверок (в основном проверок данных, которые можно выполнить простым SQL-запросом), которые нужно выполнять каждый день. Другие должны запускаться еженедельно, а другие ежемесячно. В прошлом я передавал эти запросы другим и делал своей работой, чтобы убедиться, что они выполняются, когда это необходимо. К сожалению, люди несовершенны и с неизбежным переворотом, мы всегда, кажется, в конечном итоге обнаруживаем что-то плохое, что произошло позже, чем нам бы хотелось, потому что одна или несколько из этих ручных проверок не были выполнены. Может ли кто-нибудь предложить совет или сообщить мне о приложении, которое может помочь мне управлять этими сценариями, или, возможно, о существующем приложении, которое может выполнить часть этой работы для меня? На данный момент единственным вариантом будет бесплатное приложение, но если у кого-то есть предложение чего-то несвободного, я бы включил его в список вещей для рассмотрения позже. Я знаю, что в моей компании установлена ​​система мониторинга Open NMS, но ответственные лица не откажутся от какого-либо контроля со мной, чтобы я мог настроить ее для своей системы, в то же время они не отвечают на мои запросы о настройке мониторинга совсем. Моя компания в прошлом также использовала Nagios, но я не думаю, что любой из них делает точно то, что я хочу, поскольку я не ищу в первую очередь веб-мониторинг.

Благодарю за любую помощь / совет.

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Вам нужно написать очень простое приложение, которое использует таймер для периодического запуска действия (например, запуск сценария SQL и отправка электронного письма при сбое запроса или чего-либо еще).Затем вы устанавливаете это приложение в качестве службы Windows или Unix Deamon, так что оно работает в фоновом режиме все время.Кроме того, вы можете запустить это приложение, используя планировщик задач (windows) или cron (linux).

Такие инструменты, как AlertGrid, все еще могут быть полезны, потому что даже если вы напишите такое маленькое приложение и установите его в качестве службы / демона, вы никогда не узнаете, внезапно ли по какой-либо причине оно внезапно завершилось (остановкахостинг уходит из машины).Проблема заключается в следующем: если вы автоматизируете повторяющуюся задачу, вы исключаете возможность человеческой ошибки, но начинаете сталкиваться с другим врагом: «тихие» сбои.

Итак, чтобы следить за тем,повторяющиеся задачи действительно выполняются, у вас должно быть что-то, что может получать сообщения «Я жив» из вашего приложения и генерировать оповещения, когда сообщение не получено в течение x минут.Это что-то должно: а) находиться вне машины, на которой размещено ваше приложение; б) быть НАДЕЖНЫМ (чтобы само по себе оно не выходило из строя).

Такие инструменты, как AlertGrid, делают именно это, и даже больше.AlertGrid хорош, потому что его относительно легко интегрировать и использовать.

Но это еще не все.Вы написали: «Так что, если я обнаружу проблему, я могу отправить уведомление на alert-grid.com, и оно будет отправлять уведомления всем сторонам, для которых мы настроили это?».Хитрость в том, что вы говорите, что ВЫ хотите обнаружить проблему.Рассмотрим другой подход: настройте AlertGrid для определения, является ли событие инцидентом или нет.Не все события должны быть инцидентами, в большинстве случаев ваши SQL-скрипты будут проходить без ошибок, верно?Почему бы и не сообщить об успехе?Таким образом вы убиваете двух зайцев одним выстрелом: вы отслеживаете, работает ли ваше приложение, периодически проверяя наличие любых событий (как успешных, так и неуспешных) и вызывая оповещения, если вы не получили событие за x промежуток времени, и автоматически определяете, какие событияпроисходят инциденты и отправляют уведомления по электронной почте или по телефону соответствующим контактным лицам.Еще одно преимущество: если изменяются правила уведомления (например, вы хотите отправить SMS на Mr X вместо электронной почты на Mrs Y), вам не нужно перекомпилировать или повторно развертывать приложение, вы только переконфигурируете его в AlertGrid.

1 голос
/ 13 сентября 2010

Вы можете попробовать AlertGrid - с помощью этого приложения вы можете легко настроить правила уведомления, такие как «Если мое запланированное задание не было выполнено вовремя -> отправить SMS»

Мы также используемAlertGrid для мониторинга некоторой логической статистики наших запланированных задач (мы измеряем некоторое время выполнения, количество обработанных записей) и, конечно, у нас есть предупреждения, когда некоторые пороговые значения превышены.

Доступен бесплатный аккаунт (не ограниченный по времени) с некоторым количеством оповещений (цена зависит в основном от количества SMS и телефонных звонков).Интеграция с AlertGrid очень проста по сравнению с другими решениями.

(я являюсь членом команды AlertGrid)

...