Class: SumoLogic::Client
- Inherits:
-
Object
- Object
- SumoLogic::Client
- Defined in:
- lib/sumologic.rb
Instance Method Summary collapse
- #dashboard(dashboard_id) ⇒ Object
- #dashboard_data(dashboard_id) ⇒ Object
- #dashboards(monitors = false) ⇒ Object
-
#initialize(access_id = nil, access_key = nil, endpoint = SumoLogic::URL) ⇒ Client
constructor
A new instance of Client.
- #search(query, from_time = nil, to_time = nil, time_zone = 'UTC') ⇒ Object
- #search_job(query, from_time = nil, to_time = nil, time_zone = 'UTC') ⇒ Object
- #search_job_records(search_job, limit = nil, offset = 0) ⇒ Object
- #search_job_status(search_job = {}) ⇒ Object
Constructor Details
#initialize(access_id = nil, access_key = nil, endpoint = SumoLogic::URL) ⇒ Client
Returns a new instance of Client.
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/sumologic.rb', line 12 def initialize(access_id=nil, access_key=nil, endpoint=SumoLogic::URL) @endpoint = endpoint @session = Faraday headers = {'Content-Type' => 'application/json', 'Accept' => 'application/json'} @session = Faraday.new(:url => @endpoint, :headers => headers) do |conn| conn.basic_auth(access_id, access_key) conn.use :cookie_jar conn.request :json conn.response :json, :content_type => 'application/json' conn.adapter Faraday.default_adapter end end |
Instance Method Details
#dashboard(dashboard_id) ⇒ Object
64 65 66 67 68 69 |
# File 'lib/sumologic.rb', line 64 def dashboard(dashboard_id) r = @session.get do |req| req.url 'dashboards/' + dashboard_id.to_s end return r.body.has_key?('dashboard') ? r.body['dashboard'] : nil end |
#dashboard_data(dashboard_id) ⇒ Object
71 72 73 74 75 76 |
# File 'lib/sumologic.rb', line 71 def dashboard_data(dashboard_id) r = @session.get do |req| req.url 'dashboards/' + dashboard_id.to_s + '/data' end return r.body.has_key?('dashboardMonitorDatas') ? r.body['dashboardMonitorDatas'] : nil end |
#dashboards(monitors = false) ⇒ Object
55 56 57 58 59 60 61 62 |
# File 'lib/sumologic.rb', line 55 def dashboards(monitors=false) params = {:dashboards => monitors} r = @session.get do |req| req.url 'dashboards' req.params = params end return r.body.has_key?('dashboards') ? r.body['dashboards'] : nil end |
#search(query, from_time = nil, to_time = nil, time_zone = 'UTC') ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/sumologic.rb', line 25 def search(query, from_time=nil, to_time=nil, time_zone='UTC') params = {:q => query, :from => from_time, :to => to_time, :tz => time_zone} r = @session.get do |req| req.url 'logs/search' req.params = params end end |
#search_job(query, from_time = nil, to_time = nil, time_zone = 'UTC') ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/sumologic.rb', line 33 def search_job(query, from_time=nil, to_time=nil, time_zone='UTC') params = {:query => query, :from => from_time, :to => to_time, :timeZone => time_zone} r = @session.post do |req| req.url 'search/jobs' req.body = MultiJson.encode(params) end end |
#search_job_records(search_job, limit = nil, offset = 0) ⇒ Object
47 48 49 50 51 52 53 |
# File 'lib/sumologic.rb', line 47 def search_job_records(search_job, limit=nil, offset=0) params = {:limit => limit, :offset => offset} r = @session.get do |req| req.url 'search/jobs/' + search_job['id'].to_s + '/records' req.params = params end end |
#search_job_status(search_job = {}) ⇒ Object
41 42 43 44 45 |
# File 'lib/sumologic.rb', line 41 def search_job_status(search_job={}) r = @session.get do |req| req.url 'search/jobs/' + search_job['id'].to_s end end |