Назад к вопросам
Middle
108
questionbank
Какой стандартный набор метрик используется в программе на Go с Prometheus?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Наиболее распространенный стандартный набор метрик для мониторинга Go-программ с использованием Prometheus включает:
process_cpu_seconds_total: Общее время ЦП, затраченное процессом.process_virtual_memory_bytes: Виртуальный размер памяти процесса.process_resident_memory_bytes: Размер резидентной памяти процесса.go_goroutines: Количество активных горутин.go_threads: Количество запущенных потоков ОС.go_memstats_alloc_bytes: Количество байт, выделенных для объектов кучи.go_memstats_heap_alloc_bytes: Количество байт, выделенных для объектов на куче.go_memstats_stack_inuse_bytes: Количество байт, используемых для стеков горутин.go_memstats_gc_sys_bytes: Объем памяти, используемый для метаданных сборщика мусора.go_gc_duration_seconds: Время, потраченное на сборку мусора.
Помимо этих базовых метрик, часто добавляют специфические метрики приложения, такие как:
- Счетчики запросов/ошибок к внешним сервисам (база данных, API).
- Продолжительность выполнения ключевых операций.
- Метрики очереди сообщений.
Пример экспорта базовых метрик:
package main
import (
"net/http"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
func main() {
// Регистрируем стандартный обработчик Prometheus для метрик
http.Handle("/metrics", promhttp.Handler())
// Запускаем HTTP сервер для экспорта метрик
http.ListenAndServe(":2112", nil)
}