如何使用 Ruby 监控端点的状态?
How can I monitor an endpoint's status with Ruby?
我想使用 Ruby 监控几个端点。我想获得他们的状态代码(例如 200)。我目前是这样做的
uri = URI.parse("http://example-domain.com")
response = Net::HTTP.get_response(uri)
status = response.code
但是,如果 URL 无效,则处理错误。我想要一些通知我 URL 无效的东西(最好通过将“404”返回到状态变量)
提前致谢
uri = URI.parse("http://example-domain.com/wrong")
begin
response = Net::HTTP.get_response(uri)
rescue Exception
end
status = response ? response.code : '0'
使用rescue
捕捉异常。像这样:
require 'uri'
require 'net/http'
uri = URI.parse("http://bad-example-domain.com")
begin
response = Net::HTTP.get_response(uri)
rescue Exception => e
p "Bad url: #{e}"
end
if response
status = response.code
else
status = "404"
end
p status
您可以在网上找到更多关于例外情况的信息,例如:http://www.tutorialspoint.com/ruby/ruby_exceptions.htm
我想使用 Ruby 监控几个端点。我想获得他们的状态代码(例如 200)。我目前是这样做的
uri = URI.parse("http://example-domain.com")
response = Net::HTTP.get_response(uri)
status = response.code
但是,如果 URL 无效,则处理错误。我想要一些通知我 URL 无效的东西(最好通过将“404”返回到状态变量)
提前致谢
uri = URI.parse("http://example-domain.com/wrong")
begin
response = Net::HTTP.get_response(uri)
rescue Exception
end
status = response ? response.code : '0'
使用rescue
捕捉异常。像这样:
require 'uri'
require 'net/http'
uri = URI.parse("http://bad-example-domain.com")
begin
response = Net::HTTP.get_response(uri)
rescue Exception => e
p "Bad url: #{e}"
end
if response
status = response.code
else
status = "404"
end
p status
您可以在网上找到更多关于例外情况的信息,例如:http://www.tutorialspoint.com/ruby/ruby_exceptions.htm