Где проверить журналы балансировки нагрузки роя? - PullRequest
1 голос
/ 28 апреля 2020

У меня docker составить файл как

---
version: '3.7'
services:
  myapi:
    image: tiangolo/uwsgi-nginx-flask:python3.7
    env_file: apivars.env
    logging:
      driver: syslog
      options:
        syslog-address: "udp://127.0.0.1:514"
        tag: tags
        labels: labels
    ports:
      - "8080:80"
    deploy:
      placement:
        constraints:
          - node.role != manager
      mode: replicated
      replicas: 32
      update_config:
        parallelism: 4
        delay: 5s
        order: start-first
...

У меня есть балансировщик нагрузки, который перенаправит запрос этому администратору роя.

Насколько я понимаю, если я нажму www.myapi.com, он попадет в LoadBalancer, а затем запросит go к администратору роя, а затем менеджер роя отправит этот запрос одной из 32 реплик.

Теперь проблема в том, что журналы LoadBalancer сообщают о некоторых из 502 ошибок.

# head -n1 /var/log/haproxy.log
Apr 28 09:35:28 localhost haproxy[43117]: 172.19.9.1:50220 [28/Apr/2020:09:35:08.549] main~ API_Production/swarmnode5 0/0/1/19952/19953 502 309 - - ---- 97/97/10/1/0 0/0 "GET /v2/students/?includeFields=name,id&per_page=1000&page=88 HTTP/1.1"

Я должен проверить, достигает ли он Swarm Manager или swarmnode5?

Я проверяю журналы на nginx, но он не сообщает об ошибках 502. Есть некоторые исключения, но не уверен, что в коде есть исключение, тогда почему nginx не регистрирует этот вызов API и ответ?

...