fomars on master
Update README.md (compare)
fomars on master
Merge pull request #839 from ya… add options for influxdb upload… add documentation for ssl and p… and 3 more (compare)
fomars on master
fix binary ammo & caseline + te… YANDEXTANK-456 fix encoding whi… fix test data ref:bc5f5a0d8f30… and 1 more (compare)
Коллеги, установил последнюю версию танка из мастера, перестал работать мониторинг, какие-то обновления в monitoring.xml нужно сделать или баг?
09:46:18 [WARNING] Plugin plugin_telegraf failed: Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/yandextank/core/tankcore.py", line 290, in wait_for_finish retcode = plugin.is_test_finished() File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/Telegraf/plugin.py", line 217, in is_test_finished monitoring_data = self.monitoring.poll() File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/Telegraf/collector.py", line 102, in poll self.hash_hostname(agent.host): { File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/Telegraf/collector.py", line 144, in hash_hostname return hashlib.md5(host).hexdigest() TypeError: Unicode-objects must be encoded before hashing 09:46:18 [WARNING] Disabling plugin plugin_telegraf
Баг появился скорее всего после обновления питона, в третьем надо передавать host.encode()
Люди добрые!
Подскажите, почему танк отдаёт какие-то страшные значения времени ответа в несколько сотен мс даже для простой заглушки, отдающей заготовленный ответ https://overload.yandex.net/355519 (в графане через influxdb тоже самое)
Тогда как если прямо во время теста параллельно попробовать постманом, то он отдаёт за пару мс, а если к сервису подключить актуатор, то он тоже показывает нормальные данные с минимальными значениями ответа
вот мой load.yaml
phantom:
address: host.docker.internal:8888
ammofile: ammofile.txt
ammo_type: phantom
instances: 350
load_profile:
load_type: rps
schedule: const(1500,10m)
console:
enabled: true
telegraf:
enabled: false
Добрый день! Подскажите пожалуйста, можно ли заставить утилиту выполнять редиректы?
А так же получать и отправлять полученные куки вместе с запросами?
Задача: танк заходит на страницу, получает редирект в ответ, там ему вешается кука, он возвращается обратно. Ожидается что полученная кука будет видна в запросе на вернувшейся странице.
yandex-tank_1 | 00:26:07 [INFO] Starting: ['/var/loadtest/binary/ammo', '/var/loadtest/logs/2020-12-14_00-25-45.628422/pandora_config_EOc012.yaml']
yandex-tank_1 | 00:26:08 [ERROR] Test interrupted:
yandex-tank_1 | <type 'exceptions.RuntimeError'>: Unable to start Pandora binary and/or file does not exist: ['/var/loadtest/binary/ammo', '/var/loadtest/logs/2020-12-14_00-25-45.628422/pandora_config_EOc012.yaml']
Кто-нибудь знает, как поменять настройки (имя диска и имя сетевого адаптера) telegraf?
В логе проскакивает вот такой конфиг для телеграфа:
18:16:40 [INFO] Telegraf Result config {'username': 'root', 'comment': '', 'telegraf': '/usr/bin/telegraf', 'python': '/usr/bin/env python2', 'host_config': {'Kernel': {'fielddrop': '["boot_time"]', 'name': '[inputs.kernel]'},
'System': {'fielddrop': '["n_users", "n_cpus", "uptime*"]', 'name': '[inputs.system]'},
'Memory': {'fielddrop': '["active", "inactive", "total", "used_per*", "avail*"]', 'name': '[inputs.mem]'},
'Net': {'interfaces': '["eth0","eth1","eth2","eth3","eth4","eth5"]', 'fielddrop': '["icmp*", "ip*", "udplite*", "tcp*", "udp*", "drop*", "err*"]', 'name': '[inputs.net]'},
'Disk': {'name': '[inputs.diskio]', 'devices': '["vda0","sda0","vda1","sda1","vda2","sda2","vda3","sda3","vda4","sda4","vda5","sda5"]'},
'CPU': {'fielddrop': '["time_*", "usage_guest_nice"]', 'name': '[inputs.cpu]', 'percpu': 'false'}},
'startup': [], 'host': 'test1.tld', 'telegrafraw': [], 'shutdown': [], 'port': 22, 'interval': 1, 'custom': [], 'source': []}
А у меня в системе нет eth0. Есть enp0s31f6. Ну и такая же история с NVMe дисками.
data:
ammo-config.txt: |-
[Host: my-host-withiut-port]
[Accept: */*]
[Accept-Encoding: gzip, deflate]
[Authorization: Bearer mytoken]
[Content-Type: application/json]
[Connection: keep-alive]
[User-Agent: YandexTank]
400 POST /api/v1/my-endpoint HTTP/1.1
{"key1": "value1", "key2": value2}
rps.line.yaml: |-
overload:
enabled: true
package: yandextank.plugins.DataUploader
job_name: name
job_dsc: desc
token_file: ./ssl/token.txt
phantom:
address: my-host:443
ssl: true
header_http: "1.1"
headers:
- "[Host: my-host-withiut-port]"
ammo_type: uripost
ammofile: ./config/ammo-config.txt
load_profile:
load_type: rps
schedule: const(15, 48h)
autostop:
autostop:
#- time(3s, 10s)
- http(5xx, 50%, 1s)
- net(xx, 1000, 1s)
console:
enabled: true
telegraf:
enabled: false
Ребят, а сталкивался кто-то с такой проблемой, пытаюсь нагрузить сервис с mTLS авторизацией.
Из yandex-tank, я получаю 401 ошибку постоянно. С postman с тем же приватным ключем и секртификатом - все ок. Захожу в контейнер, пока идет нагрузка и curl тоже проходит с приватным ключем и сертификатом, что в контейнере, (curl использую без "-k").
Я даже пересобрал контейнер таким образом:
FROM direvius/yandex-tank:latest
ENV CURL_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt" \
REQUESTS_CA_BUNDLE="/etc/ssl/certs/ca-certificates.crt"
RUN apt-get install ca-certificates -y
COPY config/ssl/ca-certificates/ca-chain.pem /etc/ssl/certs/ca-chain.pem
COPY config/ssl/ca-certificates/*.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates
COPY ./config /var/loadtest
мой конфиг выглядит так:
overload:
enabled: true
package: yandextank.plugins.DataUploader
job_name: ...
job_dsc: rps line load test, XXX threads limit, XXX rps
token_file: ./token.txt
phantom:
address: my-dns-name.com:443
ssl: true
client_certificate: ./ssl/client-crt.pem
client_key: ./ssl/client-key.pem
header_http: "1.1"
headers:
- "[Host: my-dns-name.com]"
- "[Content-Type: application/json]"
- "[X-Request-ID: a5555aa-777a-5555-aa77-a55a7a5a77aa]"
- "[Connection: close]"
uris:
- ...
load_profile:
load_type: rps # schedule load by defining requests per second
schedule: const(10, 8h) # constant load for XX rps for YY minutes.
#instances: 40
autostop:
autostop:
#- time(3s, 10s)
- http(5xx, 50%, 1s)
- net(xx, 1000, 1s)
console:
enabled: true # enable console output
telegraf:
enabled: false # let's disable telegraf monitoring for the first time
что делаю не верно? в логах nginx-ingress-controller получаю:
ssl_client_s_dn="-"
ssl_client_verify="None"