Files
proxmox-loki-terraform/install_loki.sh

77 lines
2.3 KiB
Bash

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