Потихоньку обновляю статью про ELK Stack.
Для этого я поднял свой репозиторий для Debian на Aptly. Это максимально простой и неприхотливый по ресурсам инструмент. Я уже рассказывал про его настройку ранее. С тех пор он так и трудится уже несколько лет (с 2022-го года) и не требует к себе никакого внимания. Достаточно только новые пакеты время от времени туда загружать и обновлять веб сервер.
В этот раз нужно было добавить репозиторий для Debian 13 Trixy. Делается это в несколько команд, если ранее всё уже было настроено для предыдущих версий:
# aptly repo create -comment="Elastic repo" -component="main" -distribution="trixie" -architectures="amd64" elastic-trixie
# aptly repo add elastic-trixie filebeat-*-amd64.deb elasticsearch-*-amd64.deb kibana-*-amd64.deb logstash-*-amd64.deb filebeat-*-amd64.deb
# aptly publish repo elastic-trixie
Репозиторий со свежими пакетами, которые предварительно скачал, готов. Подключить к своей системе можно так:
# wget -qO - http://elasticrepo.serveradmin.ru/elastic.asc | gpg --dearmor -o /usr/share/keyrings/elastic.gpg
# echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] http://elasticrepo.serveradmin.ru trixie main" | tee /etc/apt/sources.list.d/elasticrepo.list
# apt update
Показываю просто для примера. Использовать этот репозиторий для установки продуктов elastic не надо, так как я регулярно его не обновляю, только вместе со статьёй. Есть копия всего репозитория у Яндекса: https://mirror.yandex.ru/mirrors/elastic/. Там все версии всех пакетов, то есть полная копия официального зеркала.
Aptly удобен, если вы хотите полностью контролировать обновления каких-то пакетов у себя в инфраструктуре. Создаёте свой репозиторий и обновляетесь с него. Так вы точно будете уверены в том, что установленная версия будет проверенная и утверждённая вами.
Для добавления новых пакетов написал простой скрипт, который скачивает указанные версии и добавляет во все локальные репозитории.
#!/bin/bash
VERS="9.0.8"
PACKAGES="elasticsearch kibana logstash filebeat"
DISTROS="bullseye bookworm trixie"
# Download
for pkg in $PACKAGES; do
if [ "$pkg" = "filebeat" ]; then
path="beats/filebeat"
else
path="$pkg"
fi
wget https://artifacts.elastic.co/downloads/${path}/${pkg}-${VERS}-amd64.deb
done
# Add package and publish
for distro in $DISTROS; do
for pkg in $PACKAGES; do
aptly repo add elastic-${distro} ${pkg}-${VERS}-amd64.deb
done
aptly publish update $distro
done
Достаточно указать желаемую версию в VERS и запустить скрипт.
Инструментов для создания собственных репозиториев много. Я пробовал некоторые из них. Aptly понравился больше всего за его лёгкость и простую логику работы. Он по сути формирует всё, что нужно, и отдаёт веб серверу. Никакой сервис с его стороны не нужен и постоянно не работает.
#aptly