Для чего
Скрипт install-promcheck.sh ставит в систему (обычно /usr/local/bin) три утилиты без Docker и без зависимостей:
promtool— проверка конфигов Prometheus (prometheus.yml, правила, записи).amtool— проверка конфигов Alertmanager.promcheck— простая обёртка над ними (удобный единый вход для CI/локальной проверки).
Нужно, когда:
- нельзя/не хочется тащить Docker;
- нужна быстрая валидация конфигов в CI, pre-commit, на jump-хосте;
- требуется воспроизводимая версия инструментов.
Где брать бинарники
Официальные релизы GitHub (статические linux-бинарники):
- Prometheus (promtool внутри):
https://github.com/prometheus/prometheus/releases
Файл: prometheus-${VERSION}.linux-${ARCH}.tar.gz
- Alertmanager (amtool внутри):
https://github.com/prometheus/alertmanager/releases
Файл: alertmanager-${VERSION}.linux-${ARCH}.tar.gz
Архитектуры: amd64 (x86_64) и arm64 (aarch64).
Версии в скрипте задаются переменными PROM_VERSION и AM_VERSION (по умолчанию 3.13.3 и 0.28.1).
На что обратить внимание (самодостаточные бинарники)
1. Статически слинкованы — не тянут системные библиотеки, работают почти на любом современном Linux (glibc/musl обычно ок).
2. Архитектура — скрипт сам определяет uname -m и мапит в amd64/arm64. На других архитектурах упадёт.
3. Права — ставит в $PREFIX (по умолчанию /usr/local/bin). Нужны права на запись (обычно root или sudo).
4. Сеть — по умолчанию качает с GitHub. Если сети нет:
- скачай тарболы заранее на машине с интернетом;
- положи рядом со скриптом;
- добавь ветку
OFFLINE=1(сейчас в скрипте только комментарий-заглушка).
5. Версии — жёстко зафиксированы. Меняй через env (PROM_VERSION=... AM_VERSION=...).
6. promcheck — это не бинарник из релизов, а локальный скрипт-обёртка. Он должен лежать рядом с install-promcheck.sh.
7. Проверка после установки:
promtool --version
amtool --version
promcheck --help
Краткий чеклист
- Есть интернет → просто
./install-promcheck.sh - Нет интернета → скачать нужные
.tar.gz, положить рядом, дописать offline-ветку - Нужна другая версия →
PROM_VERSION=x.y.z AM_VERSION=a.b.c ./install-promcheck.sh - Нужен другой путь →
PREFIX=/opt/bin ./install-promcheck.sh
Эти бинарники — классический пример «самодостаточных» (single static binary) утилит: скачал → положил в PATH → работает.