Руководство по настройке мониторинга и логирования

Документация Avanpost IDM 7 : 6. Руководство по настройке мониторинга и логирования

Навигатор по разделу:

1. Общие сведения

Документ содержит список всех поддерживаемых метрик системы Avanpost IDM.

Метрики доступны по адресу:

Адрес, по которому доступны метрики
/api/v1/metrics

Авторизация для доступа к метрикам не требуется. 

Дополнительную информацию о стандартных метриках .NET можно найти в официальной документации .NET.

2. Базовые метрики

2.1. Базовые метрики Prometheus

Наименование метрикиОписаниеТипЕдиница измерения
process_start_time_secondsДата и время последнего запуска приложения в UNIX-форматеGaugeсек
process_virtual_memory_bytesРазмер виртуальной памяти, занимаемой приложениемGaugeбайт
process_open_handlesКоличество дескрипторов приложенияGaugeед
process_working_set_bytesРазмер физической памяти, занимаемой приложениемGaugeбайт
dotnet_collection_count_totalКоличество выполненных операций сборки мусораCounterед
process_cpu_seconds_totalЗатраченное процессорное время на приложениеCounterсек
process_private_memory_bytesРазмер физической памяти, занимаемой приложениемGaugeбайт
dotnet_total_memory_bytesКоличество байт в управляемой кучеGaugeбайт

3. Прикладные метрики

3.1. Метрики сервера IDM

Наименование метрикиОписаниеТипЕдиница измерения
role_change_queue_totalРазмер очереди изменения ролейGaugeед
role_change_error_totalКоличество ошибок в очереди изменения ролейGaugeед
account_lock_queue_totalРазмер очереди блокировокGaugeед
account_lock_error_totalКоличество ошибок в очереди блокировокGaugeед
used_licenses_totalИспользовано пользовательских лицензийGaugeед
free_licenses_totalДоступно пользовательских лицензийGaugeед
roles_assigned_with_error_totalКоличество ролей назначенных с ошибкойGaugeед

3.2. Метрики сервиса самообслуживания

Наименование метрикиОписаниеТипЕдиница измерения
processes_totalОбщее количество процессовGaugeед
active_processes_totalКоличество активных процессовGaugeед
processes_with_error_totalКоличество процессов с ошибкойGaugeед
external_event_pending_totalРазмер очереди обработки событийGaugeед
external_event_success_totalКоличество успешно обработанных событийGaugeед
external_event_unsuccessful_totalКоличество неуспешно обработанных событийGaugeед
user_task_totalКоличество задач для пользователейGaugeед

3.3 Метрики сервиса коннекторов

Наименование метрикиОписаниеТипЕдиница измерения
connector_pool_size_totalРазмер пула коннекторовGaugeед
operations_with_error_totalКоличество операций с ошибкойCounterед

3.4. Метрики модуля ABAC

Наименование метрикиОписаниеТипЕдиница измерения
auth_requests_executed_totalКоличество выполненных запросов авторизацииCounterед
auth_requests_processed_totalКоличество обрабатываемых запросов авторизацииGaugeед
auth_requests_with_error_totalКоличество запросов авторизации выполненных с ошибкойCounterед
average_time_auth_request_secondsСреднее время выполнения запроса авторизацииGaugeмс

3.5. Метрики сборки мусора (GC)

Наименование метрикиОписаниеТипЕдиница измерения
process_runtime_dotnet_gc_collections_count_totalКоличество сборок мусора, выполненных с момента запуска процесса, с разбивкой по поколениям (gen0, gen1, gen2)Counterед
process_runtime_dotnet_gc_objects_size_bytesОбъем памяти, используемый объектами в куче GC, которые еще не были собраны. Фрагментация и другие пулы памяти, выделенные GC, исключеныGaugeбайт
process_runtime_dotnet_gc_allocations_size_bytes_totalОбщий объем памяти, выделенной в управляемой куче GC с момента запуска процессаCounterбайт
process_runtime_dotnet_gc_committed_memory_size_bytesРазмер фактически зарезервированной виртуальной памяти для управляемой кучи GC, наблюдаемый во время последней сборки мусора. Зарезервированная память может быть больше размера самой кучи, так как включает память для существующих объектов и дополнительную память для новых объектовGaugeбайт
process_runtime_dotnet_gc_heap_size_bytesРазмер кучи, включая фрагментацию, наблюдаемый во время последней сборки мусора. Доступен только после первой сборки мусораGaugeбайт
process_runtime_dotnet_gc_heap_fragmentation_size_bytesФрагментация кучи, наблюдавшаяся во время последней сборки мусора. Значение будет недоступно до тех пор, пока не будет выполнена хотя бы одна сборка мусораGaugeбайт
process_runtime_dotnet_gc_duration_nanoseconds_totalОбщее время, затраченное на паузы с момента запуска процессаCounterнаносекунды

3.6. Метрики JIT-компиляции

Наименование метрикиОписаниеТипЕдиница измерения
process_runtime_dotnet_jit_il_compiled_size_bytes_totalКоличество байтов промежуточного языка, скомпилированных с момента запуска процессаCounterбайт
process_runtime_dotnet_jit_methods_compiled_count_total

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

Counterед
process_runtime_dotnet_jit_compilation_time_nanoseconds_totalКоличество времени, потраченное JIT-компилятором на компиляцию методов с момента запуска процессаCounterнаносекунды

3.7. Метрики пула потоков и таймеров

Наименование метрикиОписаниеТипЕдиница измерения
process_runtime_dotnet_monitor_lock_contention_count_total

Количество конфликтов, возникших при попытке захвата блокировок монитора с момента запуска процесса. Конфликты происходят, когда несколько потоков одновременно пытаются получить доступ к ресурсу, защищенному блокировкой. Блокировки монитора обычно реализуются с помощью ключевого слова lock в C# или методов Monitor.Enter() и Monitor.TryEnter()

Counterед
process_runtime_dotnet_thread_pool_threads_countТекущее количество потоков в пуле потоковGaugeед
process_runtime_dotnet_thread_pool_completed_items_count_totalОбщее количество задач, обработанных пулом потоков с момента запуска процессаCounterед
process_runtime_dotnet_thread_pool_queue_lengthТекущая длина очереди задач, ожидающих обработки в пуле потоковGaugeед
process_runtime_dotnet_timer_count

Количество активных таймеров. Таймеры могут быть созданы многими источниками, такими как System.Threading.Timer, Task.Delay или тайм-аутом в CancellationSource. Активный таймер зарегистрирован для срабатывания в будущем и еще не был отменен

Gaugeед

3.8. Прочие метрики .NET

Наименование метрикиОписаниеТипЕдиница измерения
process_runtime_dotnet_assemblies_countКоличество сборок .NET, которые в данный момент загруженыGaugeед
process_runtime_dotnet_exceptions_count_totalКоличество исключений, возникших в управляемом коде. Значение будет недоступно, пока исключение не будет выброшено после инициализации OpenTelemetry.Instrumentation.RuntimeCounterед

3.9. Системные метрики

Наименование метрикиОписаниеТипЕдиница измерения
memory_usageТекущее использование памяти приложениемGaugeед
cpu_usageТекущее использование CPU приложениемGaugeед


 

Обсуждение