Счетчики
Счетчики собираются по серверам и сервисам.
Успешные счетчики: Для каждого процесса сервиса / системы (собираются процессом хоста-службы):
запущен (раз);
остановлен (раз);
перезапущен (раз).
Для каждого процесса сервиса / системы (собираются самими сервисами):
ОЗУ (МБ);
ЦП мин (%);
ЦП макс (%);
диск (МБ).
Системы (процессы адаптеров):
пришло из системы (сообщений);
ушло в систему (сообщений);
отправлено в сервер (сообщений);
получено из сервера (сообщений);
[web-only] Отправлено без ожидания (сообщений);
[web-only] Отправлено с ожиданием (сообщений).
Сервер:
получено в определение функции (сообщений);
обработано успешно в определении функции (сообщений);
Загруженность очереди процессов (%).
Процесс:
поставлено в очередь (сообщений);
завершено успешно (процессов);
завершено с ошибкой (процессов);
ушло в ожидание (процессов);
возобновлено (процессов);
общее время исполнения (мс);
общее время сна (мс);
время ожидания запуска (мс).
Машина:
использование ЦП (%);
использование RAM (МБ);
свободно RAM (МБ);
свободно на диске (ГБ);
использование диска (ГБ);
очередь к диску.
Настройки кластера:
"counterSettings": {
"$type": "DT.ClusterConfiguration.CounterSettings, DT_Core",
"nodeStoreTime": 10000,
"modulePollInterval": 1,
}
Новый файл создается раз в сутки (в момент первого сохранения в сутки по времени UTC):
nodeStoreTime: срок хранения данных на диске сервером, в минутах.
modulePollInterval: частота отправки счетчиков с сервисов на сервер.
После каждой отправки счетчики обнуляются и начинают считаться заново.
Описание всех счетчиков
Контроллер PlatformInfo
/info/counters
Пример ответа:
[
{
"$type": "DT.Diagnostics.Counters.CounterInfo, DT_Core",
"id": "11111111-0000-4766-b2a8-41121b95c5ee",
"name": "CPUMin",
"description": "Минимальное использование ЦП, %",
"measure": "%",
"type": "ModuleCounter"
}
]
Счетчики уровня ModuleCounter
CPUMin: минимальное использование ЦП, в %.
CPUMax: максимальное использование ЦП, в %.
WorkingSet: использование памяти, в МБ.
Диск: использование диска, в МБ.
CообщенияПолученоОтУзла: получено сообщений модулем от сервера.
CообщенияОтправленоУзлу: отправлено сообщений модулем серверу.
CообщенияПолученоОтСистемы: получено сообщений от системы.
CообщенияОтправленоВСистему: отправлено сообщений в систему.
CообщенияПолученоОтветныхСообщений: получено ответных сообщений от системы.
CообщенияОтправленоБезОжидания: отправлено сообщений в систему без ожидания ответа.
CообщенияОтправленоСОжиданием: отправлено сообщений в систему с ожиданием ответа.
CообщенияЗапущеноОпределениеФункции: запущено определение функции.
CообщенияВыполненоУспешноОпределениеФункции: успешно определена функция.
ПроцессыУшлоВОжидание: процессов ушло в ожидание.
ПроцессыЗавершеноУспешно: процессов завершено успешно.
ПроцессыЗавершеноСОшибкой: процессов завершено с ошибкой.
ПроцессыВозобновлено: процессов возобновлено.
ПроцессыПоставленоВОчередь: процессов поставлено в очередь за период.
ПроцессыОжиданиеСтарта: ожидающие старта процессы в реальном времени.
ПроцессыВОбработке: выполняемые процессы в реальном времени.
ЗагруженностьОчередиПроцессов: отношение текущей длины очереди для модуля процессов к максимально настроенной, в %.
МодульЗапущен: количество запусков модуля.
МодульОстановлен: количество остановок модуля.
МодульПерезапущен: количество перезапусков модуля.
ВремяИсполнения: время исполнения процесса, включая время сна, в мс.
ВремяОжидания: время сна, в мс.
ВремяОжиданияСтарта: время ожидания от поступления запроса на обработку до начала исполнения процесса, в мс.
Счетчики уровня NodeCounter
CPUОбщая: загрузка ЦП, в %.
RAMОбщая: использование памяти, в МБ.
RAMСвободно: свободно памяти, в МБ.
ДискСвободно: свободно памяти на используемом логическом диске, в ГБ.
ДискЗанято: занято памяти на используемом логическом диске, в ГБ.
ДискОчередь: количество запросов к диску, ожидающих обработки
ВОжидании: количество процессов в ожидании возобновления
ВозобновленныеУспешно: количество успешно возобновленных процессов.
ВозобновленныеПоТаймауту: количество возобновленных по таймауту процессов.
Логирование данных счетчиков
Для сбора логов счетчиков необходимо задать настройки в кластере, изменения вступят после перезапуска платформы.
[
"counterAlwaysOn": false,
"counterDiagnosticData": [
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0001-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
},
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0002-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
},
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0003-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
},
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0004-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
},
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0005-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
},
{
"$type": "DT.MdmCommon.CounterDiagnosticData, DT_Config",
"counterId": "00000000-0006-4766-b2a8-41121b95c5ee",
"logLevel": "Debug"
}
]
События регистрируются в журнале сервера:
В случае отсутствия запросов на сбор данных счетчиков более 10 мин. предусмотрена автоматическая остановка сбора. По истечении времени в логах отобразится сообщение: «Отправка данных счетчиков приостановлена по причине отсутствия запросов за последние 00:10:00 мин.»
Данный лог отображается в журнале сервера на уровне Debug или при условии, что в ЦМ для сервера или в ЦН для кластера включен дополнительный раздел журнала Counter