Для чего

Скрипт 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 → работает.