77 lines
2.3 KiB
Bash
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"
|