autoinstall - использование веб-перехватчиков для отчетов

autoinstall включает возможность сообщать веб-перехватчику:

reporting:
 hook:
  type: webhook
  endpoint: http://example.com/endpoint/path
  consumer_key: "ck_foo"
  consumer_secret: "cs_foo"
  token_key: "tk_foo"
  token_secret: "tk_secret"
  level: INFO

Я пытался настроить это, но безуспешно. Поскольку я не очень знаком с веб-перехватчиками, я сначала попытался получить хоть какую-то информацию и настроил эту конфигурацию:

отчет: хук: тип: конечная точка веб-перехватчика: localhost:8000

Затем я настроил netcat на моем локальном сервере следующим образом:

nc -l localhost 8000

Но на этой розетке вообще ничего не получаю. Я не очень уверен, как использовать эту услугу, но я бы ожидал увидеть хоть какие-то данные.

1 ответ

Я установил http-echo-сервер и добавил reportingраздел к конфигу. Когда отчет о веб-перехватчике работает, он отправляет один HTTP-запрос для каждого созданного сообщения журнала.

Например, эта строка в файле /var/log/installer/subiquity-server-debug.log

      2021-05-05 00:06:50,666 DEBUG root:39 finish: subiquity/Network/_send_update: SUCCESS: CHANGE ens192

соответствует этому HTTP-запросу

      --> POST / HTTP/1.1
--> Accept-Encoding: identity
--> Content-Length: 190
--> Host: REDACTED:8080
--> User-Agent: Curtin/21.2-7-gd49d35bc6
--> Content-Type: application/json
--> Authorization: OAuth oauth_nonce="24545438356422201711620173210", oauth_timestamp="1620173210", oauth_version="1.0", oauth_signature_method="PLAINTEXT", oauth_consumer_key="ck_foo", oauth_token="tk_foo", oauth_signature="cs_foo%26tk_secret"
--> Connection: close
-->
--> {"name": "subiquity/Network/_send_update", "description": "CHANGE ens192", "event_type": "finish", "origin": "curtin", "timestamp": 1620173210.6665578, "level": "DEBUG", "result": "SUCCESS"}

Я тестировал первоначально с 20.04.3и HTTP-сервер не получил данных , как вы заметили.

Я добавил конфигурацию, чтобы обновить себя. Это привело к использованию subiquity 21.04.2и HTTP-сервер действительно получал сообщения.

Вот частичная конфигурация того, что было протестировано

      #cloud-config
autoinstall:
  refresh-installer:
    update: yes
  reporting:
    mylistener:
      type: webhook
      endpoint: http://REDACTED:8080/
      consumer_key: "ck_foo"
      consumer_secret: "cs_foo"
      token_key: "tk_foo"
      token_secret: "tk_secret"
      level: INFO

Другие примечания

  • Я не вижу каких -либо коммитов или исправлений ошибок , связанных с отчетами или веб-перехватчиками, поэтому я не уверен, что это исправляет или насколько надежным его следует считать.
  • Несмотря на то, что уровень установлен на INFO, веб-перехватчик по-прежнему отправляет сообщения для DEBUG.
Другие вопросы по тегам