78 lines
2.6 KiB
Bash
78 lines
2.6 KiB
Bash
|
||
#!/bin/bash
|
||
set -e
|
||
|
||
echo "=== Установка Promtail ==="
|
||
|
||
# Версия Promtail (должна совпадать с версией Loki)
|
||
PROMTAIL_VERSION="2.9.3"
|
||
|
||
# Создание пользователя для Promtail
|
||
echo "Создание пользователя promtail..."
|
||
if ! id -u promtail > /dev/null 2>&1; then
|
||
sudo useradd --system --no-create-home --shell /bin/false promtail
|
||
fi
|
||
|
||
# Создание директорий
|
||
echo "Создание необходимых директорий..."
|
||
sudo mkdir -p /etc/promtail
|
||
sudo mkdir -p /var/lib/promtail
|
||
|
||
# Скачивание Promtail
|
||
echo "Скачивание Promtail ${PROMTAIL_VERSION}..."
|
||
cd /tmp
|
||
wget -q "https://github.com/grafana/loki/releases/download/v${PROMTAIL_VERSION}/promtail-linux-amd64.zip"
|
||
unzip -o promtail-linux-amd64.zip
|
||
sudo mv promtail-linux-amd64 /usr/local/bin/promtail
|
||
sudo chmod +x /usr/local/bin/promtail
|
||
rm promtail-linux-amd64.zip
|
||
|
||
# Копирование конфигурационного файла
|
||
echo "Установка конфигурации Promtail..."
|
||
sudo cp /tmp/promtail-config.yaml /etc/promtail/promtail-config.yaml
|
||
|
||
# Установка прав доступа
|
||
sudo chown -R promtail:promtail /etc/promtail
|
||
sudo chown -R promtail:promtail /var/lib/promtail
|
||
|
||
# Добавление promtail в группу adm для чтения системных логов
|
||
sudo usermod -a -G adm promtail
|
||
|
||
# Создание systemd service файла
|
||
echo "Создание systemd service для Promtail..."
|
||
sudo tee /etc/systemd/system/promtail.service > /dev/null <<EOF
|
||
[Unit]
|
||
Description=Promtail service
|
||
Documentation=https://grafana.com/docs/loki/latest/clients/promtail/
|
||
After=network-online.target loki.service
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=promtail
|
||
Group=promtail
|
||
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail-config.yaml
|
||
Restart=on-failure
|
||
RestartSec=10s
|
||
LimitNOFILE=65536
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
EOF
|
||
|
||
# Перезагрузка systemd и запуск сервиса
|
||
echo "Запуск Promtail service..."
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable promtail
|
||
sudo systemctl start promtail
|
||
|
||
# Проверка статуса
|
||
echo "Проверка статуса Promtail..."
|
||
sleep 3
|
||
sudo systemctl status promtail --no-pager || true
|
||
|
||
echo "=== Установка Promtail завершена ==="
|
||
echo "Promtail доступен на порту 9080"
|
||
echo "Проверить статус: sudo systemctl status promtail"
|
||
echo "Проверить логи: sudo journalctl -u promtail -f"
|
||
echo "Проверить метрики: curl http://localhost:9080/metrics"
|