Анализ проблем в приложениях с использованием журналов iis

Установка и настройка веб-сервера iis + php + mysql

III. Если клиент 1С зависает при подключении к базе по web

Прежде посмотрите этот  — там общие рекомендации.

Другой случай. Файловая ИБ опубликована на IIS. После авторизации зависает на эмблеме 1С. При открытии Конфигуратора — все нормально.

В журналах Windows ошибка «Процесс, обслуживающий пул приложений «1С», не ответил на команду ping».

Что посмотреть:

  • проверьте права на папку с базой 1С для IUSR/IIS_IUSRS, уровень доступа — на «изменение»;
  • в оснастке IIS «Пулы приложений — <пул_1С> — Дополнительные параметры — Модель процесса» задайте для «Максимальная задержка отклика при проверке связи» значение, превышающее 90 секунд;
  • посмотрите на поведение IIS при «Проверка связи включена» = False.

Установка «Максимальное время отклика пинга» в большое значение позволит IIS продолжать наблюдение за рабочим процессом.

Зачем анализировать Web-логи?

Вполне резонный вопрос — собственно, зачем нам это надо?

Целей может быть несколько. В первую очередь, Web-логи могут показать, что именно делал тот или иной посетитель на вашем сайте. Можно посмотреть, откуда пришел пользователь, что он запрашивал, сколько времени потратил на чтение и куда потом делся. Вот такой подробный расклад. В результате может получиться маршрут этого посетителя.

Если изучить маршруты пользователей и выбрать наиболее часто используемые, то можно понять, что именно интересует ваших посетителей. Возможно, это совершенно не то, что вы задумывали, создавая ваш сайт или разрабатывая Интернет приложение.

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

📌Что делать, если вы не можете найти файлы логов IIS?

Администраторы или другой IT-персонал могут легко перенести каталог, в котором они хранятся, в другое расположение

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

Чтобы их найти, вы должны запустить оснастку Internet Information Services. Для этого запустите окно «Выполнить» и введите:

InetMgr.exe

Найдите интересующий вас сайт, после чего кликните по иконке «Logging».

В разделе «Directory» вы увидите, где у вас лежат логи Internet Information Services. При желании вы можете это поменять

Обратите внимание на формат ведения журнала, по умолчанию будет W3C

W3C используется для централизованного формата файла журнала W3C, для регистрации информации обо всех сайтах на сервере. Этот формат обрабатывается HTTP.sys и представляет собой настраиваемый текстовый формат ASCII, что означает, что вы указываете регистрируемые поля. Укажите поля, которые регистрируются в диалоговом окне «W3C Logging Fields», щелкнув «Select Fields» на странице Ведение журнала. Поля разделены пробелами, а время записывается в формате всемирного координированного времени (UTC). 

По мимо текущих журналов, вы можете еще отслеживать ошибки и предупреждения IIS в логах просмотра событий. Так в журнале «Система» вы можете активировать фильтр с источником WAS. В результате вы получите много ценной информации по поиску проблем на IIS или его пулах.

Еще есть три дополнительных журнала, но они требуют активации, так как по умолчанию они не ведут запись.

  • IIS-CentralCertificateProvider
  • IIS-Configuration
  • IIS-Logging

How to Move Transport Logs on Exchange Server?

Exchange Transport logs store information about all messages processed by the MSExchangeTransport service. For a detailed information on how to enable, disable, or move transport logs in Exchange, check the article Transport Logs.

You can check if transport logs are enabled on your server and their paths using the following PowerShell (EMS) commands:

The main transport logs of Microsoft Exchange Server are stored in the following folders by default:

%ExchangeInstallPath%TransportRoles\Logs\Hub\Connectivity
%ExchangeInstallPath%TransportRoles\Logs\MessageTracking (used when searching messages via Get-MessageTrackingLog)
%ExchangeInstallPath%Logging\IRMLogs
%ExchangeInstallPath%TransportRoles\Logs\Hub\ActiveUsersStats
%ExchangeInstallPath%TransportRoles\Logs\Hub\ServerStats
%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive
%ExchangeInstallPath%TransportRoles\Logs\Hub\Routing
%ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend
%ExchangeInstallPath%TransportRoles\Logs\Hub\QueueViewer
%ExchangeInstallPath%TransportRoles\Logs\Hub\AgentLog

You can change the folder for storing SMTP send/receive logs (Protocollogs) via EAC (Servers -> servers -> select_a_server -> Transport Logs -> Protocol log).

You can change the Message Tracking log path via EAC.

Also, you can use the symbolic links to safely redirect any of the transport log folders to another drive or even a shared network folder (by UNC path). To create a symbolic link, use the built-in mklink tool:

All that remains is to change the path to the log directory using the cmdlet:

Thus, you can store any Exchange transport logs in a shared network folder on a remote server. This method is suitable for other Exchange logs.

Clearing Logging Folder on Exchange

A large number of logs of different Exchange services are stored in the Logging folder (for example, in Exchange 2013, this is C:\Program Files\Microsoft\Exchange Server\V15\Logging). Over time, they can consume a significant amount of the disk space. Of particular note are the diagnostic and performance logs in C:\Program Files\Microsoft\Exchange Server\V15\Logging\Diagnostics (with high-detailed diagnostics enabled, they can take tens of gigabytes).

You can use PowerShell to delete old Exchange log files in these folders. The following script will delete all logs from these folders older than 21 days:

You can prefer to remove only diagnostics log files:

You can add these PowerShell scripts to your Task Scheduler in order to automatically clear old Exchange logs.

Логи IIS

По умолчанию логи IIS располагаются в каталоге %SystemDrive%\inetpub\logs\LogFiles. Сигналом для их очистки может служить истощающееся быстрыми темпами свободное место системного диска. В этом случае системные администраторы начинают искать что же занимает столько места и благополучно пропускают папку inetpub, поскольку по умолчанию она практически ничего не весит:

Но почему? Дело в том, что изначально вы не имеете разрешений на вложенные папки, следовательно не можете увидеть их реальный объем:

Попробуйте зайти в каждую подпапку каталога %SystemDrive%\inetpub\logs\LogFiles, соглашаясь с назначением необходимых разрешений и в итоге увидите, что реальный объем папок не так уж и мал:

Разумеется у меня приведены в пример скриншоты с тестового сервера. Объем логов серверов в продакшене может достигать десятков и сотен гигабайт совершенно спокойно.

Итак, проблема найдена, пора заняться очисткой. Теоретически её можно проводить и вручную, но в этом нет никакого смысла и проще все сделать скриптами, в некоторых случаях достаточно даже одной команды PowerShell. В одной из статей по Exchange 2013 (см. Очистка папки Logging Exchange 2013) я уже рассматривал вопрос автоматизации процесса очистки логов, но не помешает напомнить о нем и в этой статье.

Команда для очистки log-файлов в нашем случае будет выглядеть следующим образом:

1

gci ‘C:\inetpub\logs\LogFiles’ -Include ‘*.log’ -Recurse | ? LastWriteTime -LT (Get-Date).AddDays(-3) | Remove-Item

В командлете (Get-Date).AddDays(-3) вместо значения -3 задайте свое. -3 говорит о том, что будут удалены все файлы старше трех дней. Для меня это оптимальное значение, для вас оно может отличаться. В продакшене рекомендую оставлять минимум неделю истории, а если позволяет свободное место, то и целый месяц не будет лишним.

Создадим отдельную учетную запись, администратором её делать не нужно:

Дадим учетной записи права Вход в качестве пакетного задания  (через оснастку управления политиками gpedit.msc):

Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Локальные политики\Назначение прав пользователя

Дальше необходимо выдать пользователю права на каталог %SystemDrive%\inetpub\logs\LogFiles. Достаточно прав на чтение + права на удаление файлов и папок:

Снова открываем окно назначения прав и заменяем разрешения всех дочерних элементов родительскими (без этого работать не будет, ведь на этом каталоге отключено наследование):

Следующий шаг — создание запланированного задания (в аргументах вставьте команду, о которой речь шла выше):

Не забудьте проверить задание — выполните вручную и если все прошло хорошо (см. журнал задания), поставьте выполнение через 2-3 минуты от текущего времени, чтобы проверить как оно работает при автоматическим запуске. При этом убедитесь, что старые файлы действительно удалились.

Настройка ведения журнала на уровне сайта

Эту процедуру можно выполнить с помощью пользовательского интерфейса или путем непосредственного изменения файлов конфигурации.

Настройка ведения журнала на уровне сайта с помощью пользовательского интерфейса

  1. Откройте диспетчер служб IIS.

    • Для Windows Server 2012 на начальной странице щелкните плитку диспетчер сервера и нажмите кнопку «ОК». В Диспетчере серверов откройте меню Сервис и выберите пункт Диспетчер служб Internet Information Services (IIS).
    • Для Windows 8 на панель управления типаначальной страницы и щелкните значок панель управления в результатах поиска. На экране панели управления выберите раздел Система и безопасность, выберите Администрирование,а затем щелкните пункт Диспетчер служб IIS.
  2. В древовидном представлении Подключения выберите ваш веб-сайт.

  3. В представлении Просмотр возможностей дважды щелкните Ведение журнала.

  4. На странице Ведение журнала в пункте Файл журнала раздела Формат выберите один из следующих форматов файлов журналов:

    • IIS: использовать файл журнала в формате Microsoft IIS для записи сведений о сайте. Этот формат обрабатывается HTTP.sys и имеет фиксированный текстовый формат ASCII, что означает, что нельзя настраивать поля, которые записываются в журнал. Поля разделяются запятыми, а для указания времени записывается местное время. Дополнительные сведения о формате файлов журнала IIS см. в разделе «Формат файла журнала IIS» (IIS 6.0).
    • NCSA: использование файлов журнала общего формата Национального центра сверхмощных вычислений (NCSA) для регистрации сведений об узле. Этот формат обрабатывается HTTP.sys и имеет фиксированный текстовый формат ASCII, что означает, что нельзя настраивать поля, которые записываются в журнал. Поля отделяются пробелами, а время записывается как местное время со смещением относительно UTC. Дополнительные сведения о формате файла журнала NCSA см. в разделе NCSA Common Log File Format (IIS 6.0).
    • W3C: использование централизованного формата файла журнала W3C для записи сведений обо всех сайтах на сервере. Этот формат обрабатывается HTTP.sys и имеет настраиваемый текстовый формат ASCII, что означает, что можно указать поля, которые записываются в журнал. Укажите поля, которые записываются в журнал, в диалоговом окне Поля ведения журнала W3C, нажав кнопку Выбрать поля на странице Ведение журнала. Поля отделяются пробелами, а время записывается в формате UTC. Дополнительные сведения о формате файла журнала W3C см. в разделе W3C Extended Log File Format (IIS 6.0).
    • Настраиваемые: использование настраиваемого формата для пользовательского модуля ведения журнала. При выборе этого параметра страница ведения журнала становится отключенной, так как настраиваемое ведение журнала не может быть настроено в диспетчере IIS. Дополнительные сведения об использовании пользовательских форматов файлов журналов см. в разделе «Пользовательские модули ведения журнала» (IIS 6.0).
  5. В разделе Каталог укажите путь для хранения файла журнала. Значение по умолчанию — .

    Примечание

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

  6. В разделе Смена файлов журнала выберите один из следующих вариантов.

    • Расписание: создание нового файла журнала на основании одного из следующих значений.

      • Каждый час: новый файл журнала создается каждый час.
      • Ежедневно: новый файл журнала создается каждый день.
      • Еженедельно: новый файл журнала создается каждую неделю.
      • Ежемесячно: новый файл журнала создается ежемесячно.
    • Максимальный размер файла (в байтах): новый файл журнала создается при достижении файлом определенного размера (в байтах). Минимальный размер файла — 1048576 байт. Если установленное значение этого атрибута меньше, чем 1 048 576 байтов, неявно принимается значение по умолчанию, равное 1 048 576 байтам.

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

  7. Выберите «Использовать локальное время для именования и смены файлов «, чтобы указать, что имя файла журнала и время для смены файла журнала использует время локального сервера. Если этот параметр не выбран, используется время в формате UTC.

    Примечание

    Независимо от этого параметра в метках времени текущего файла журнала будет использоваться формат времени, соответствующий выбранному в списке Формат формату журнала. Например, для журналов в форматах NCSA и W3C для отметок времени применяется формат UTC.

  8. Щелкните Применить в области Действия.

Conclusion

In part 1 of the IIS log analysis guide, we’ve gone from “IIS logs, what is it” to a simple, systematic process you can follow to measure your website’s quality of service, and break it down into issues that reduce it (slow and failed requests).

Then, in this part 2, we used IIS 8.5 Enhanced logging and ApplicationMonitoring.dll to add the crucial details you need to fix the issues, straight to your IIS logs.

If you implement this guidance for your site, you will be able to complete the cycle:

  1. Measure website’s quality of service (taking into account custom SLAs and URL priorities), and break it down for reporting using custom areas and tags.

  2. Identify sources of failed and slow requests.

  3. Get detailed exception information for failed requests (that your developers can work on).

  4. Get a clear understanding of what caused your slow requests, including server issues and the slow application code.

By connecting the website satisfaction score penalties of issues with the details you need to fix them … you can finally make actionable, prioritized, and convincing list of issues that your team will want to fix to improve your website’s health.

P.S. Using this guide and ApplicationMonitoring.dll to amp up your IIS log insights? Please comment below, and share your questions/success stories.

P.P.S. If you are struggling with IIS hangs, CPU overloads, memory leaks and the like, deploy LeanSentry to diagnose and fix those issues down to the application code.

Что такое Web-логи?

Любой пользователь, работающий с Интернет приложением, подвергается постоянному наблюдению. За ним следит не только ФСБ (для тех, кто занервничал, читая эти строки, поясняю — это шутка), но и многие участники Глобальной паутины. Это не люди, а электронные компоненты виртуального пространства. И их великое множество. «Стада» совершенно различных серверов, прокси, фаерволов, коммутаторов, маршрутизаторов и т.п. Везде, где вы побывали, остаются «следы» вашего присутствия. Не исключение и Web-сервер на котором работает ваше Web-приложение.

Следы – это не отпечатки пальцев и не протектор ваших ботинок. Следы — это записи в журналах Web-сервера, первого из элементов типового трехзвенного приложения, включающего собственно сам Web-сервер, а так же Web-приложение и базу данных.

List of IIS W3C Log Fields

Here is the complete list of fields that are available for logging in to the IIS logging module under log file format W3C.

  • Date (date): date of request.
  • Time (time): time of the request in Coordinated Universal Time (UTC).
  • Client IP Address (c-ip): the client IP address that made the request.
  • User Name (cs-username): the name of the authenticated user who made the request. A hyphen indicates an anonymous user.
  • Service Name (s-sitename): the site service name and instance number that handled the request.
  • Server Name (s-computername): the name of the server on which request was made.
  • Server IP Address (s-ip): the IP address of the server on which request was made.
  • Server Port (s-port): the server port number that is configured for the service.
  • Method (cs-method): the requested action, for example, a GET method.
  • URI Stem (cs-uri-stem): the URI, or target, of the action.
  • URI Query (cs-uri-query): the query, if any, that the client was trying to perform. A URI query is necessary only for dynamic pages.
  • Protocol Status (sc-status): the HTTP request status code.
  • Protocol Substatus (sc-substatus): the HTTP request substatus error code.
  • Win32 Status (sc-win32-status): the Windows status code.
  • Bytes Sent (sc-bytes): the number of bytes that the server sent to the client.
  • Bytes Received (cs-bytes): the number of bytes that the server received from the client.
  • Time Taken (time-taken): the time that the request took to complete (in milliseconds).
  • Protocol Version (cs-version): the HTTP protocol version that the client used.
  • Host (cs-host): the hostname, if any.
  • User Agent (cs(UserAgent)): the browser type that client used for request.
  • Cookie (cs(Cookie)): the content of the cookie sent or received.
  • Referrer (cs(Referrer)): the site that the user last visited. This site provided a link to the current site.

🗒Расположение журналов IIS

По умолчанию логи IIS после установки располагаются по пути:

%SystemDrive%\inetpub\logs\LogFiles

Данную папку вы можете посмотреть в проводнике Windows. В папке LogFiles вы найдете папки с именами в формате:

  • W3SVC1
  • W3SVC2
  • W3SVC3

Число в конце имени папки соответствует идентификатору сайта. Таким образом, W3SVC2 соответствует идентификатору сайта 2.

Чтобы узнать ID у сайта вам нужно перейти в его дополнительные свойства.

Размер журналов будет зависеть от интенсивности записи в них и можете спокойно достигать по 500 МБ.

Так же вы можете посмотреть ошибки по пути:

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования
связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.

Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS —> Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

Теперь нужно ознакомиться с рядом терминов, используемых в IIS. В левой части окна IIS Manager отображается запись с именем используемого сервера. Наш сервер имеет имя PROFESSORWEB, сгенерированное по умолчанию Windows 8, которое будет использоваться в большинстве примеров. В центральной области отображается представление сервера. Это представление отображает набор значков, которые позволяют конфигурировать параметры сервера. В правой части экрана расположен список доступных действий. Например, в этом представлении можно запускать, останавливать и перезапускать сервер.

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

http://mywebserver:80

Каждый сайт может содержать множество файлов и каталогов. Каждый из них образует часть URL-адреса. Так, URL-адрес статической страницы mypage.html, расположенной в каталоге myfiles, будет следующим:

http://mywebserver:80/myfiles/mypage.html

В некоторых ситуациях имя, под которым сервер известен вам, и имя, которое клиенты используют для получения содержимого, будут различаться

Мы оставим этот нюанс без внимания, но администратор сервера или компания, предоставляющая услуги хостинга, предоставят необходимые сведения, если это важно для конкретного сервера

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

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

Управление настройками видимости отчетов пользователей для УТ 11.4

Возникла необходимость настроить видимость отчетов пользователям. При большом числе внешних отчетов с настройкой видимости «для всех» список отчетов сложно воспринимать. Пользователи просили убрать лишние не нужные им отчеты. Они могут настроить сами, но, конечно, ленятся — в итоге это ложится на плечи программиста 1С.
Обработка позволяет скрыть неиспользуемые отчеты из списка отчетов по разделам, доступным пользователю. Также данные настройки можно скопировать другим пользователям из списка. Может быть полезна программистам 1С, администраторам БД.
Делалась для себя, может, кому-то пригодится.

1 стартмани

Как нарисовать граф на 1С Промо

Описывается реализация на языке запросов 1С метода расположения вершин графа на плоскости, основанного на использовании электромеханической аналогии. При этом вершины графа представляются одноименными электрическими зарядами, дуги — пружинками. Силы взаимодействия вершин в этой системе переводят их из случайного начального в нужное конечное положение. Приведена обработка рисования графов «ГрафОграф», реализующая данный подход, показывающая также динамику процесса. Граф можно задать списком ребер вручную, выбрать из нескольких предопределенных примеров или сформировать по данным информационной базы.

1 стартмани

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: