Стек отслеживания 50х (v2)
Содержание
Стек отслеживания 50х (v2)#
Note
Эта статья с изменениями от 09-го апреля 2021 г. В wiki сохранилась также первая версия статьи, и я не стал удалять её. Посмотреть её можно здесь: Стек отслеживания 50х (v1)
Порядок работы#
На докере infra-docker задеплоен код memcached + специально подготовленный
контейнер с php-fpm.
Чтобы запустить систему отслеживания нужно:
Сбилдить контейнер с тегом:
docker build . --tag=registry.appworks.ru/infra/php-fpm:7.4После завершения билда запушить в registry:
docker push registry.appworks.ru/infra/php-fpm:7.4
Запустить стек:
docker stack deploy --with-registry-auth \ -c docker-compose-fpm.yml trace50xНастроить реверс-прокси на проксирование
fastcgiв контейнерphp-fpm.Добавить код на страницу перед закрывающимся
body:<script src="https://catch.appworks.ru/catch.js"></script>
Пример конфигурации nginx:#
server {
listen 80;
listen 443 ssl;
include /etc/nginx/conf.d/ssl-settings.rules;
ssl_certificate /run/secrets/cloudflare-origin.crt;
ssl_certificate_key /run/secrets/cloudflare-origin.key;
server_name catch.appworks.ru;
set $host_header "catch.appworks.ru";
if ($scheme = http) {
return 301 https://$host_header$request_uri;
}
charset utf-8;
access_log /dev/stdout;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Authorization, Accept, '
'Accept-Charset, X-Requested-With, User-Agent, Cache-Control, '
'Content-Type, Content-Length, Content-Range, '
'If-Modified-Since, x-language' always;
add_header 'Access-Control-Max-Age' 3600 always;
root /var/www;
location / {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root/route.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param QUERY_STRING $request_uri;
include fastcgi_params;
fastcgi_pass 11.100.250.9:34599;
fastcgi_index route.php;
}
location ~*i (\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist|git|.docker.config)|~)$ {return 418;}
}
Общая схема взаимодействия#
Общая схема взаимодействия стека отслеживания ошибок#
See also
Связанная статья по настройке мониторинга: Получение данных по страницам 50х