Я пытался пропустить проверку TLS в сценариях K6, но получаю ошибку ниже
msg = «Не удалось отправить данные временных рядов в конечную точку» error = «Ошибка HTTP-запроса POST: сообщение «https://.../api/v1/push»: tls: не удалось проверить сертификат: x509 : сертификат, подписанный неизвестным органом" output="Удаленная запись Prometheus"
Происходит рукопожатие TLS
http_req_tls_handshaking.......: avg=208.3ms min=208.3ms med=208.3ms max=208.3ms p(90)=208.3ms p(95)=208.3ms
попробовал передать «insecureSkipTLSVerify: true» в настройках
передается как флаг (-insecure-skip-tls-verify)
k6 run -o Experimental-prometheus-rw -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' --insecure-skip-tls-verify k6/sample/prfm_hpp.js
Любая помощь/указания приветствуются. заранее спасибо
Чтобы отключить проверку TLS для модуля вывода Prometheus, вам необходимо установить K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY на true
:
k6 run -o experimental-prometheus-rw -e K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY=true -e 'K6_PROMETHEUS_RW_SERVER_URL=https://****/api/v1/push' k6/sample/prfm_hpp.js
Это небезопасно (поскольку имя параметра очень заметно) и открывает возможности для атак «человек посередине» — вы больше не проверяете личность сервера. Любой сертификат TLS считается действительным, если эта опция включена.
Метрика http_req_tls_handshaking
не содержит рукопожатий с Prometheus, а только рукопожатия TLS, выполненные в ваших тестовых функциях.
В дополнение к ответу Knittl
Происходит рукопожатие TLS
Да, если вы используете https-соединение, TLS должен произойти, эта опция просто делает так, что пока это происходит, k6 пропускает фактическую проверку того, кем себя называют серверы, и то, что мы видим, верно. Таким образом, вы можете подключиться к paypal.com
, и если они скажут нам, что это google.com
— это все равно нормально.
Его следует использовать только для локальной или промежуточной разработки, когда вы не хотите получать настоящие сертификаты.
Большое спасибо Knittl, все заработало после настройки K6_PROMETHEUS_RW_INSECURE_SKIP_TLS_VERIFY=true