Уведомление процессора Windows о неправильном поведении приложения ColdFusion

StackOverflow https://stackoverflow.com/questions/282713

Вопрос

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

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

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

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

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

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

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

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

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

Это было полезно?

Решение

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

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

Контролирует любой процесс с помощью любой комбинации:

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

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

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

Другие советы

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top