Уведомление ЦП Windows о неправильной работе приложения ColdFusion - PullRequest
8 голосов
/ 12 ноября 2008

У меня есть веб-приложение, написанное на ColdFusion, которое периодически начинает использовать 100% ЦП сервера и приводит к сбою службы ColdFusion.

Поскольку я не смог воспроизвести проблему самостоятельно, я хотел бы найти утилиту, которая уведомит меня по электронной почте, когда загрузка ЦП начнет расти, поэтому я могу запрыгнуть на сервер, посмотреть на FusionReactor, чтобы увидеть, что Идем дальше и выявляем неверный код.

У меня есть Googled, и я не смог найти подходящую утилиту, поэтому я подумал, что могу спросить, нашли ли другие программисты инструмент, который может осуществлять такой вид мониторинга. Учитывая особенности моих потребностей, я бы предпочел не писать свой собственный инструмент мониторинга.

Если у вас есть другие предложения по решению общей проблемы, я бы тоже хотел их услышать.

Ответы на ответы:

Использование Windows Permon для запуска командной строки звучит многообещающе. Кто-нибудь может подсказать мне, как это сделать?

У нас нет системы мониторинга, настроенной на прием прерываний SNMP.

Мы работаем с ColdFusion 8 Standard Edition, который не включает в себя инструменты мониторинга производительности ColdFusion - они доступны только в Enterprise.

Ответ Питера Боутона, вероятно, позволит мне решить проблему, но он не поможет мне решить проблему заблаговременно, так как процессор начинает всплывать, поэтому я все еще ищу решение для уведомления.

Ответы [ 4 ]

4 голосов
/ 14 ноября 2008

У меня была похожая проблема несколько недель назад, и меня направили в программу AlwaysUp.

http://www.coretechnologies.com/products/AlwaysUp/

Мониторинг любого процесса по любой комбинации:

  • Использование памяти
  • Использование процессора
  • невосприимчивость
  • Запустите пользовательский скрипт, чтобы определить, следует ли его сбросить

Отсюда вы можете либо перезапустить службу, либо отправить электронное письмо с уведомлением, либо запустить скрипт для регистрации событий и т. Д.

У них 30-дневная демонстрация, я был продан на 2-й день. Хорошее быстрое решение, пока вы дойдете до сути вопроса.

2 голосов
/ 12 ноября 2008

В Windows вы можете использовать инструменты для мониторинга производительности (perfmon), которые входят в стандартную поставку Windows. Когда процессор достигает определенной точки, он может вызвать уведомление SNMP, которое может быть получено большинством инструментов системного мониторинга, и предупредить вас об этом. Он также может запускать команду или делать множество других полезных вещей, которые могут помочь вам закрепить ее.

1 голос
/ 13 ноября 2008

Это уведомление необязательно, поскольку оно происходит - в FusionReactor есть файлы журналов, поэтому вы можете проверить их после того, как это произошло, и определить, какие сценарии выполняются в данный момент.

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

1 голос
/ 12 ноября 2008

Если вы используете Coldfusion 8, вам доступна еще одна альтернатива - монитор производительности. Вы можете настроить оповещения для отправки вам электронного письма, вызова другого CFC и т. Д. По различным критериям.

Я часто пользуюсь монитором сервера - это отличный инструмент, хотя я и сам не слишком много использовал оповещения, их, вероятно, стоит посмотреть, так как их легко настроить.

Что касается общих подходов ...

В нашей компании мы используем Windows Perfmon с одного сервера, чтобы опрашивать все наши CF-серверы каждые 30 секунд, чтобы получить некоторые показатели, такие как общий процессор и среднее время ответа. Мы записываем это в файл CSV. Каждые несколько минут запускается запланированное задание, которое считывает детали этих файлов и сохраняет их в таблицу БД. Затем он обрезает файлы, чтобы они не стали слишком большими.

Наконец, один раз в день мы отправляем в наш технический отдел отчет, в котором подробно описываются все метрики серверов, в котором отображается график использования процессора и среднего времени отклика для всех наших серверов.

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

...