LINUX.ORG.RU

Сообщения Sinclair

 

Выделить access логи от одного ip в отдельный файл в nginx

Форум — Admin

Есть nginx.x86_64 1:1.14.1-9.0.1.module+el8.0.0+5347+9282027e Основной конфиг по умолчанию. Для веб сервера заведен отдельный файл с конфигом в /etc/nginx/conf.d/ со следующим содержимым:

upstream websrv{ 
    ip_hash;
    server 127.0.0.1:8002;
}
server {.
    listen 80; server_name wserv.domain;
    # Перенаправление на HTTPS
    location / { return 301 https://$server_name$request_uri;
    }
}
server {
    listen 443 ssl; server_name wserv.domain;
    # Путь к сертификату и ключу
    ssl_certificate /etc/nginx/ssl/wserv.crt;
    ssl_certificate_key /etc/nginx/ssl/wserv.key;

    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log main;
...
}

С одного IP адреса идет большое количество запросов и хотелось бы access_log с него выделить в отдельный файл. В этом случае основной файл access_log был бы существенно меньше и было бы намного проще его анализировать.

В интернете находил варианты с geo и map, но при одном варианте лог файлы вообще не создаются, в других паралельно записываются в два файла все логи. Прошу подсказать как решить такую задачу.

Прмеры которые пробовал(ip адреса здесь только для примера): В файле /etc/nginx/nginx.conf в блок http

map $remote_addr $log_file {
    default "main";      # Для всех остальных IP
    10.10.10.17 "group1";  # 10.10.10.17 → access_group1.log
    10.10.10.18 "group1";  # 10.10.10.18 → access_group1.log
    10.10.10.19 "group2";  # 10.10.10.19 → access_group2.log
}

В файле /etc/nginx/conf.d/wsrv.conf в блок server

# Лог для остальных IP
access_log /var/log/nginx/access.log combined if=$log_file=main;

# Лог для 10.10.10.17 и 10.10.10.18
access_log /var/log/nginx/access_group1.log combined if=$log_file=group1;

# Лог для 10.10.10.19
access_log /var/log/nginx/access_group2.log combined if=$log_file=group2;

 , , ,

Sinclair
()

Ошибка при запуске keycloak как сервис systemd

Форум — Admin

Устанавливаю keycloak и пытаюсь запустить его как сервис под пользователем keycloak. Несколько раз переустанавливал, и обратил внимание что в некоторых случаях не запускается и выдает ошибку:

   Loaded: loaded (/etc/systemd/system/keycloak.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2025-01-24 18:17:39 +05; 4s ago
  Process: 3485 ExecStart=/opt/keycloak/current/bin/kc.sh start (code=exited, status=203/EXEC)
 Main PID: 3485 (code=exited, status=203/EXEC)

Удалось выяснить следующую закономерность: Если архив распаковать в домашней папке пользователя под которым я устанавливаю, потом перенести (командой mv в консоли) в папку opt ошибка возникает, если же архив распаковывать в opt то ошибка не возникает. В первом и во втором случае после распаковки выполняю команду: sudo chown -R keycloak:keycloak /opt/keycloak/25.0.6

(папка /opt/keycloak является домашней папкой пользователя keycloak) Казалось бы права должны быть одинаковые. И для первого и второго варианта распаковки командой ls -l вижу права самой папки /opt/keycloak/25.0.6 и вложенных папок: drwxr-xr-x файлов:-rwxr-xr-x и -rw-r–r– Подскажите пожалуйста в чем может быть проблема.

 , ,

Sinclair
()

RSS подписка на новые темы