Что вы изучите
- Как встроить Prometheus client в Go 1.22 (релиз 2025) и экспортировать /metrics.
- Как запустить Prometheus 2.45 (релиз 2025) и Alertmanager 0.25 (релиз 2025) в Docker.
- Как написать простые правила алертов и проверить их доставку в Alertmanager.
- Как диагностировать типичные ошибки: target DOWN, Permission denied при монтировании конфигов, порт уже занят.
- Практические примеры prometheus.yml, alert.rules и alertmanager.yml для продакшен-подобной среды.
Требования
- ОС: Ubuntu 22.04 или Debian 12 / macOS 13. Минимум Linux kernel 5.15.
- Go 1.22 (релиз 2025), минимум 256 МБ памяти для сборки; рекомендуемые 1 ГБ ОЗУ и 1 CPU.
- Docker Engine 24.0 (релиз 2025) или Podman с поддержкой volume; свободно 1 ГБ диска для образов.
- Prometheus 2.45 (релиз 2025) образ ~140 MB compressed; Alertmanager 0.25 образ ~60 MB.
- Порты: Prometheus 9090, Alertmanager 9093, приложение на 8080. Рекомендуется 2 CPU и 2 GB ОЗУ для тестового стенда.
Краткий план занимает 60–90 минут на машине со стабильным интернетом и Docker. По окончании вы получите работающий стек мониторинга и примеры алертов, готовые к интеграции в CI/CD.
Шаг 1: создать минимальное Go-приложение с /metrics
Команда: инициализируйте модуль, установите client_golang и запустите приложение.
mkdir prometheus-go-demo && cd prometheus-go-demo
go mod init github.com/example/prometheus-go-demo
# client_golang версия 1.16 (релиз 2025)
go get github.com/prometheus/client_golang@v1.16.0
cat > main.go <<'EOF'
package main
import (
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"log"
)
var (
reqs = prometheus.NewCounterVec(
prometheus.CounterOpts{Name: "http_requests_total", Help: "Total HTTP requests\
Комментарии (0)
Войдите или зарегистрируйтесь, чтобы оставить комментарий
Загрузка комментариев…