robot-piglet on arcadia
yandextank: bump setup.py versi… (compare)
robot-piglet on arcadia
fix deprecated warnings fix de… (compare)
robot-piglet on arcadia
tank image build for docker Ex… (compare)
robot-piglet on arcadia
monitoring and trail requests f… (compare)
robot-piglet on arcadia
up pandora version - internal (compare)
robot-piglet on arcadia
Move send_log to separate clien… (compare)
robot-piglet on arcadia
Single instance for agent regis… (compare)
robot-piglet on arcadia
jwt auth and grpc channel facto… (compare)
robot-piglet on arcadia
DataUploader: implement push mo… (compare)
robot-piglet on arcadia
force localhost as default moni… (compare)
robot-piglet on arcadia
Fix telegraf yaml parser bug wh… (compare)
robot-piglet on arcadia
Add netstat to default monitori… (compare)
robot-piglet on arcadia
Telegraf support for yaml confi… (compare)
robot-piglet on arcadia
stop syncing NeUploader (compare)
robot-piglet on arcadia
stop syncing NeUploader on gith… (compare)
Добрый день, подскажите как подключить мониторинг ресурсов машины, на которой развернут сервер? Видел часто в выступлениях на конференциях смотрят загрузку ЦП, утечки, но у меня в оверлоаде при отображении подобных графиков пишет "no Data to display"
Привет, в танке есть плагин для мониторинга Telegraf, вот тут можно найти инструкцию по его настройке и использованию: https://yandextank.readthedocs.io/en/latest/core_and_modules.html#telegraf
Привет, в танке есть плагин для мониторинга Telegraf, вот тут можно найти инструкцию по его настройке и использованию: https://yandextank.readthedocs.io/en/latest/core_and_modules.html#telegraf
Спасибо)
phantom:
address: api.opium.exchange:443 # [Target's address]:[target's port]
ssl: true
uris:
- /v1/meta/config
load_profile:
load_type: rps # schedule load by defining requests per second
schedule: const(1, 10s) # starting from 1rps growing linearly to 10rps during 10 minutes
console:
enabled: true # enable console output
telegraf:
enabled: false # let's disable telegraf monitoring for the first time
2020-10-15 14:37:49.803 +0000 [error] [benchmark_io 002] SSL error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
2020-10-15 14:37:49.805 +0000 [error] [benchmark_io 002] SSL_connect error 1
Привет, ребят, подскажите пожалуйста, что делаю не так.
У меня есть кубер, в котором стоит nginx-ingress-controller и авторизация, через mTLS
Мой docker-compos:
version: '2'
services:
yandex-tank:
image: direvius/yandex-tank:latest
network_mode: host
environment:
- SSH_AUTH_SOCK=/ssh-agent
volumes:
- $SSH_AUTH_SOCK:/ssh-agent
- $PWD/config:/var/loadtest
- $PWD/config/ssl/ca:/etc/ssl/certs # здесь я подкладываю самоподписной ca.crt (openssl s_client -showcerts -servername my-address.com -connect my-address.com:443 > ./ca-chain.pem)
command: -c rps.line.yaml
rps.line.yaml
phantom:
address: my-address.com:443
ssl: true
client_certificate: ./ssl/client-crt.pem
client_key: ./ssl/client-key.pem
timeout: 60s
header_http: "1.1"
headers:
- "[Host: my-address.com]"
- "[Content-Type: application/json]"
- "[X-Request-ID: a5555aa-777a-5555-aa77-a55a7a5a77aa]"
- "[Connection: close]"
uris:
- /api/servers/
когда запускаю yandex-tank, то вижу в логах - , то вижу в логах 401, тоесть авторизация не проходит. При этом с этой-же привтаной парой ключей (./ssl/client-crt.pem, ./ssl/client-key.pem), я могу выполнить запрос через Postman и если зайти в контейнер яндекс-танка, и выполнить curl, то тоже получаю 200ОК и без проблем проходит авторизация:
[tank]root@docker-desktop
curl https://my-address.com/api/servers/ \
--header 'Host: my-address.com' \
--cert ./ssl/client-crt.pem \
--key ./ssl/client-key.pem
Логи:
docker-compose up --build
Recreating yandex_tank_yandex-tank_1 ... done
Attaching to yandex_tank_yandex-tank_1
yandex-tank_1 | No handlers could be found for logger "netort.resource"
yandex-tank_1 | 20:29:39 [INFO] New test id 2020-10-25_20-29-39.013273
yandex-tank_1 | 20:29:39 [INFO] Logging handler <logging.StreamHandler object at 0x7f947086f8d0> added
yandex-tank_1 | 20:29:39 [INFO] Logging handler <logging.StreamHandler object at 0x7f9470815ad0> added
yandex-tank_1 | 20:29:39 [INFO] Created a folder for the test. /var/loadtest/logs/2020-10-25_20-29-39.013273
yandex-tank_1 | 20:29:39 [INFO] Configuring plugins...
yandex-tank_1 | 20:29:39 [INFO] Loading plugins...
yandex-tank_1 | 20:29:39 [INFO] Testing connection to resolved address XX.XXX.XXX.XXX and port 443
yandex-tank_1 | 20:29:39 [INFO] Resolved my-address.com into XX.XXX.XXX.XXX:443
yandex-tank_1 | 20:29:39 [INFO] Configuring StepperWrapper...
yandex-tank_1 | 20:29:39 [INFO] Making stpd-file: /var/loadtest/logs/_087358e3c188451c46e17937cd1a12b7.stpd
yandex-tank_1 | 20:29:39 [INFO] Using UriStyleGenerator ammo reader
20:29:44 [INFO] Preparing test...4499, speed: 23 Krpsspeed: 14 Krps
yandex-tank_1 | 20:29:44 [INFO] Checking tank resources...
yandex-tank_1 | 20:29:45 [INFO] Starting test...
yandex-tank_1 | 20:29:45 [INFO] using verbose histogram
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.Phantom.plugin.Plugin object at 0x7f9470549f90> required 0.655622 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.Autostop.plugin.Plugin object at 0x7f9470578e10> required 0.000337 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.ShellExec.plugin.Plugin object at 0x7f9470549e10> required 0.000021 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.Console.plugin.Plugin object at 0x7f9470549550> required 0.000005 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.RCAssert.plugin.Plugin object at 0x7f94705494d0> required 0.000026 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.ResourceCheck.plugin.Plugin object at 0x7f9470549f50> required 0.000005 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Plugin <yandextank.plugins.JsonReport.plugin.Plugin object at 0x7f947088ea90> required 0.000005 seconds to start
yandex-tank_1 | 20:29:46 [INFO] Waiting for test to finish...
yandex-tank_1 | 20:29:46 [INFO] Artifacts dir: /var/loadtest/logs/2020-10-25_20-29-39.013273
yandex-tank_1 | Data delay: 4s, RPS: 11
yandex-tank_1 | Data delay: 4s, RPS: 11 ▃▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇ . Duration: 0:00:22 ETA: 0:29:38
yandex-tank_1 | .
yandex-tank_1 | Percentiles (all/last 1m/last), ms: . HTTP codes: . Hosts: docker-desktop => my-address.com
yandex-tank_1 | 100.0% < 446.0 446.0 408.9 . 182 +11 100.00% : 401 Unauthorized . Ammo:
yandex-tank_1 | 99.5% < 446.0 446.0 408.9 . . Count: 90000
yandex-tank_1 | 99.0% < 438.0 438.0 406.2 . Net codes: . Load: line(10, 90, 30m)
yandex-tank_1 | 95.0% < 407.0 407.0 395.7 . 182 +11 100.00% : 0 Success .
yandex-tank_1 | 90.0% < 397.0 397.0 382.5 . . Active instances: 5
yandex-tank_1 | 85.0% < 386.0 386.0 375.3 . Average Sizes (all/last), bytes: . Planned requests: 11.0 for 0:00:00
yandex-tank_1 | 80.0% < 377.0 377.0 368.0 . Request: 193.3 / 191.5 ▇▇▇▇▇▇▇▇▇▇▇▇▇ . Actual responses: 11
yandex-tank_1 | 75.0% < 373.0 373.0 365.5 . Response: 225.0 / 225.0 ▇▇▇▇▇▇▇▇▇▇▇▇▇ . Accuracy: 0.00%
yandex-tank_1 | 70.0% < 370.0 370.0 363.0 . . Time lag: 0:00:00
yandex-tank_1 | 60.0% < 360.0 360.0 357.0 . Average Times (all/last), ms: .
yandex-tank_1 | 50.0% < 354.0 354.0 343.3 . Overall: 358.89 / 354.04 ▇▇▇▇▇▇▇▇▆▇▇▇ .
yandex-tank_1 | 40.0% < 350.0 350.0 341.0 . Connect: 271.90 / 268.99 ▇▇▇▇▇▇▇▇▆▇▇▇ .
yandex-tank_1 | 30.0% < 344.0 344.0 338.0 . Send: 0.18 / 0.06 ▇▂▁▁▁▁▁▁_▂__ .
yandex-tank_1 | 20.0% < 338.0 338.0 338.0 . Latency: 83.76 / 81.69 ▇▇▇▇▇▇▇▇▇▇▇▇ .
yandex-tank_1 | 10.0% < 333.0 333.0 334.0 . Receive: 3.05 / 3.31 ▇▄▃▁▁_▁▂___▂ .
yandex-tank_1 | .
yandex-tank_1 | .
yandex-tank_1 | Cumulative Cases Info: .
yandex-tank_1 | name count % last net_e http_e avg ms last ms .
yandex-tank_1 | OVERALL: 182 100.00% +11 0 182 358.8 354.0 ▃▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇ .
Привет. Уже несколько недель бьюсь с этим. Что пандора, что фантом отказываются работать с нестандартным портом по ssl. При запросе по порту 443 всё норм идет, но как только перехожу на иной порт, получаю 104 и connection reset by peer. Можете подсказать, может еще что нужно добавлять в конфиг, кроме - ssl: true?
Привет, обычно этого достаточно бывает. А пробовали до любого другого сервиса по https стрельнуть, просто ради сравнения, скажем с 1rps?
Ребят всем привет
Пытаюсь запустить простенький тест из туториала:
load.yaml:
phantom:
enabled: true
address: cs-hydra-app.query.consul-test # [Target's address]:[target's port]
headers:
- "[Host: cs-hydra-app.query.consul-test]"
- "[Cache-Control: no-cache]"
uris:
- /approve/
load_profile:
load_type: rps # schedule load by defining requests per second
schedule: line(1, 10, 10m) # starting from 1rps growing linearly to 10rps during 10 minutes
console:
enabled: true # enable console output
telegraf:
enabled: false # let's disable telegraf monitoring for the first time
Пишет:
14:02:43 WARNING: /etc/yandex-tank is not acessible to get configs list
14:02:43 INFO: Loading configs...
14:02:43 ERROR: Can't load configs: File contains no section headers.
file: load.yaml, line: 1
'phantom:\n'
14:02:43 INFO: Exception: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 214, in configure
self.core.load_configs(configs)
File "/usr/lib/python2.7/dist-packages/yandextank/core/tankcore.py", line 227, in load_configs
self.config.load_files(configs)
File "/usr/lib/python2.7/dist-packages/yandextank/core/tankcore.py", line 604, in load_files
raise ex
MissingSectionHeaderError: File contains no section headers.
file: load.yaml, line: 1
'phantom:\n'
14:02:43 ERROR: File contains no section headers.
file: load.yaml, line: 1
'phantom:\n'
14:02:43 ERROR: Exception: File contains no section headers.
file: load.yaml, line: 1
'phantom:\n'
Я что-то упустил?
Всем привет, подскажите, что можно сделать, если при запуске с overload'ом плагин падает?
Debian 10.5, python 3.7.3, танк установлен из мастер-ветки.
Видел yandex/yandex-tank#773 с такой же ошибкой, но там ничего по существу нет.
Собственно, пишет:
В начале:
Failed to create job on lunapark
ChunkedEncodingError(ProtocolError('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read)))
Failed to connect to Lunapark, disabling DataUploader
И в конце:
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/client.py", line 339, in new_job
"api/job/create.json", data, trace=trace)[0]
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/client.py", line 285, in __post
trace=trace)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/client.py", line 190, in __make_api_request
response = self.__send_single_request(request, next(ids), trace=trace)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/client.py", line 128, in __send_single_request
resp = self.session.send(p, timeout=self.connection_timeout)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 686, in send
r.content
File "/usr/lib/python3/dist-packages/requests/models.py", line 828, in content
self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
File "/usr/lib/python3/dist-packages/requests/models.py", line 753, in generate
raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/yandextank/core/tankcore.py", line 329, in plugins_end_test
retcode = plugin.end_test(retcode)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 316, in end_test
self.lp_job.interrupted.set()
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 546, in lp_job
self._lp_job = self.__get_lp_job()
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 587, in __get_lp_job
lp_job.send_config(LPRequisites.CONFIGINITIAL, yaml.dump(self.core.configinitial))
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 807, in send_config
self.api_client.send_config(self.number, lp_requisites, content, trace=self.log_other_requests)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 765, in number
self.create()
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 789, in create
trace=self.log_other_requests)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/client.py", line 356, in new_job
raise self.JobNotCreated()
yandextank.plugins.DataUploader.client.APIClient.JobNotCreated