Я пытаюсь запустить API-вызов New Relic, чтобы получить список всех мониторов Synthetics.У меня проблемы с тем, чтобы это сработало, и я просто застрял ... пытался посмотреть на многие рубиновые ссылки, но я просто не понимаю, поэтому я надеюсь, что вы, ребята, могли бы помочь мне!
Для этого требуется HTTPS, проксии заголовки аутентификации:
Chef::Log.info('Retrieving New Relic Synthetics monitors')
uri = URI("https://synthetics.newrelic.com/synthetics/api/v3/monitors")
uri.headers = "x-api-key:<my_key_here>"
proxy_addr = "192.168.0.100"
proxy_port = "3200"
begin
tries ||= 3
response = JSON.parse(Net::HTTP.new(uri.host, uri.port, proxy_addr, proxy_port, :use_ssl => uri.scheme == 'https') { |http|
request = Net::HTTP::Get.new uri
response = http.request request
})
raise 'ERROR: Unable to retrieve New Relic Synthetics monitors' unless response['monitors']
all_synthetics_monitors = response
rescue
if (tries -= 1) > 0
Chef::Log.warn("Retrieving New Relic Synthetics monitors: [#{uri}].. Retrying!\n")
sleep(10)
retry
else
Chef::Log.error("Retrieving New Relic Synthetics monitors: [#{uri}].. Failed!\n")
return
end
end.flatten
Пока что я просто получаю повторы и не могу понять даже, что этот API передает.Я пытался выполнить «путы» вокруг запроса и ответа, но не смог продвинуться далеко ...