1

Что означает эта ошибка cURL и где я могу найти дополнительную информацию?

curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 73

Я пишу сценарий оболочки для запроса API Splunk. В некоторых случаях через 5 минут я получаю эту ошибку. Иногда я могу перезапустить сценарий, и ошибка исчезает, и я получаю желаемый результат.

Вот что я вижу на своем терминале.

  % Total    % Received % Xferd  Average Speed          Time             Curr.
                                 Dload  Upload Total    Current  Left    Speed
  0     0    0     0    0     0      0      0 --:--:--  0:05:01 --:--:--     0
curl: (56) SSL read: error:00000000:lib(0):func(0):reason(0), errno 73

Пример поиска это. Я заменим "спок" на hosthame. Этот поиск успешно выполняется на других хостах, поэтому этот конкретный поиск не является каким-то неправильным и вызывает проблему.

search index=os_nix host=spock source=/var/adm/messages latest=-30d NOT snmpd authentication (error OR fail OR failure) | head

Я строю свою команду, как это.

URLPROTO='https://'
URLHOST='splunkapi.example.com'
URLPORT=':8089'
URLDIR='/servicesNS/admin/search/search/jobs/export'
URL="${URLPROTO}${URLHOST}${URLPORT}${URLDIR}"
luser=(read from user input)
lpassword=(read from user input)
OUTFILE=(generated from hostname and the type of search I'm running) 
mySEARCH=(read from input file)
USER=(User ID read from environment)

На самом деле команда это.

curl -k -o "${OUTFILE}" -u ${luser:=${USER}}:${lpasswd} ${URL} -d search="${mySEARCH}" -d output_mode="csv"

Мой скрипт просматривает список хостов, читает из внешнего файла, выполняет несколько поисков, читает из другого внешнего файла по каждому хосту. Чтобы уточнить, я могу запустить свой сценарий, и я получаю два или три сбоя из тридцати полных поисков. Весь прогон не терпит неудачу, только две или три отдельные пары хост / поиск. Ошибка не ограничивается конкретной парой хост / поиск, конкретным хостом или конкретным поиском, поскольку я могу повторно запустить свой сценарий, и сбои имеют хорошие шансы на успех.

Что за ошибка cURL пытается сказать мне?

Если это имеет значение, это AIX.

curl 7.11.1 (powerpc-ibm-aix5.2.0.0) libcurl/7.11.1 OpenSSL/0.9.7g ipv6
Protocols: ftp gopher telnet dict ldap http file https ftps
Features: IPv6 SSL NTLM Largefile

2 ответа2

3

Имена , связанные с errno "номерами ошибок" должно быть в файле errno.h обычно прятали где - то в /usr/include хотя Webby поиск поворачивает вверх:

http://www.ioplex.com/~miallen/errcmp.html

Что для 73 и AIX "Сброс соединения по пиру". Поэтому по какой-то причине одноранговый узел (или что-то между клиентом и одноранговым узлом) сбрасывает соединение.

0

Curl сообщает об этих ошибках, потому что Splunk не возвращает никаких данных. (Мой поиск вернул данные для большинства хостов, но окно, зависящее от времени, иногда вызывало сбой.)

Время ожидания истекает через 5 минут и отключает скручивание, ошибка 73. Код выхода скручивания (56) - «Ошибка при получении сетевых данных». Splunk ничего не отправляет, поэтому нет данных для получения.

Спасибо вам и @thrig, и @OscarAkaElvis за помощь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .