ServerAdmin.ru | Linux | DevOps
@srv_admin
Фото Сколько лет настраиваю веб сервера Nginx и только недавно случайно узнал, когда настраивал отправку логов в Loki, что веб сервер может одновременно писать логи в разных форматах. Просто в голову не приходило попробовать, что так можно. Речь вот про что. Допустим, вы отправляете логи в какое-то хранилище. Туда удобнее отправлять формат json. Он удобен для машины, но не для восприятия человеком. Да, можно взять jq или что-то подобное для удобства, но это всё равно не то. Глазами удобнее всего смотреть на обычные текстовые логи. Если хотите оставить себе возможность смотреть на логи глазами и грепать их, то можно сделать вот так. Показываю сразу пример конфигурации Angie/Nginx. http {     ...................     log_format  main       '$remote_addr - $remote_user [$time_local] "$request" '     '$status $body_bytes_sent "$http_referer" '     '"$http_user_agent" "$http_x_forwarded_for"';     log_format json escape=json  '{'   '"time_local":"$time_local",'   '"remote_addr":"$remote_addr",'   '"remote_user":"$remote_user",'   '"request":"$request",'   '"status": "$status",'   '"body_bytes_sent":"$body_bytes_sent",'   '"request_time":"$request_time",'   '"http_referrer":"$http_referer",'   '"http_user_agent":"$http_user_agent"'  '}';     ...................     access_log  /var/log/angie/access.log main;     access_log  /var/log/angie/access.json.log json;     ................... } Разумеется, без особого основания так делать не надо, потому что нагрузка на запись от логирования возрастёт в 2 раза. Но если очень хочется, то можно. Будут писаться одновременно оба лога в разных форматах. У меня, к примеру, куча башевских костылей написана под обычный формат логов. Иногда бывает нужно прямо на хосте что-то быстро сделать. Если нет обычных логов, мне неудобно. Конечно, тут можно возразить, что от этого надо избавляться и использовать другие подходы. Ну уж какие есть. Я не работаю с большими нагрузками. Для меня всё это некритично. Можно ручками сходить на сервер и что-то там проверить, сделать. #logs #angie #nginx
Если у вас установлено приложение,
вы можете сразу перейти в канал