2008-11-12 5 views
8

У меня есть веб-приложение, написанное в ColdFusion, которое периодически начинает использовать 100% процессорного сервера сервера и выдает сообщение об ошибке службы ColdFusion.Уведомление Windows CPU о неправильном использовании приложения ColdFusion

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

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

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

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

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

У нас нет системы мониторинга, предназначенной для приема ловушек SNMP.

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

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

ответ

4

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

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

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

  • Useage памяти
  • Cpu Использование
  • невосприимчивости
  • Выполнить пользовательский скрипт, чтобы определить, должен ли он быть сброшен

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

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

+0

Спасибо, это похоже на то, что я ищу для решения этой постоянной, но случайной проблемы. – davidcl 2009-01-19 20:16:30

2

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

+0

Можете ли вы дать более подробную информацию о том, что команда perfmon выполнила команду? Я думаю, что это соответствовало бы моим потребностям. – davidcl 2008-11-12 03:29:00

1

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

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

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

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

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

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

1

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

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

+0

Хорошая точка. Возможно, мне нужно немного расширить регистрацию FR, чтобы журналы запросов сохранялись достаточно долго, чтобы сопоставить их с журналами ресурсов, но это отличная точка. – davidcl 2008-11-13 16:31:36