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
.