Пул IIS - текущее количество сбоев - PullRequest
0 голосов
/ 10 июля 2020

В IIS есть настройка для пула приложений «Максимальное количество сбоев». Как проверить, сколько отказов уже произошло?

Ответы [ 3 ]

1 голос
/ 10 июля 2020

Вы можете использовать Windows счетчики производительности, чтобы получить большую статистику о машине. Я не уверен, что конкретно означает «Максимальные сбои» в IIS в счетчиках производительности, но если предположить, что фатальные ошибки / перезапуски приложения, есть счетчик с именем ASP.NET\Application Restarts, который, вероятно, является хорошим началом.

(Включение производительности Счетчики вызывают (небольшой по моему опыту) удар по производительности - включайте только то, что вам нужно et c. Microsoft рекомендует фиксировать некоторое количество этих счетчиков в производственных рабочих нагрузках.

Ознакомьтесь с этим блогом от Microsoft на счетчики производительности в IIS

1 голос
/ 14 июля 2020

Значение «максимального сбоя» указывает максимальное количество сбоев рабочего процесса, разрешенное до того, как пул приложений будет отключен с помощью быстрой защиты от сбоев. Когда приложение cra sh достигает предела, IIS завершает работу и завершает работу пула приложений, тогда вы просто получаете сообщение об ошибке 503. Serivce Unavailable.

Я думаю, вы можете отслеживать это через Performance monitor-> App_pool_WAS-> Total worker сбой процесса-> выберите конкретный экземпляр объекта.

1 голос
/ 10 июля 2020

Ошибки приложения IIS регистрируются как Windows Событие на сервере. Вы можете использовать метод EventLog.GetEventLogs для их чтения. Однако вам придется фильтровать много мусора.

EDIT: добавлен образец кода:

var eventLogs = EventLog.GetEventLogs();

var applicationLogs = eventLogs.First(w => w.Log == "Application");

Console.WriteLine("Number of application log entries: " + applicationLogs.Entries.Count);

foreach (EventLogEntry entires in applicationLogs.Entries)
{
    if (entires.EntryType.ToString().Equals("Error"))
    {
        // An application error.
        Console.WriteLine("Source: " + entires.Source);
    }
}

Другой способ - добавить DataDog APM или аналогичный инструмент на вашем сервере. Затем позвольте DataDog предупредить вас, когда сбой достигает / приближается к пороговому значению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...