giraffi 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/.document +5 -0
  2. data/.yardopts +7 -0
  3. data/Gemfile +10 -0
  4. data/HISTORY.md +6 -0
  5. data/LICENSE.md +20 -0
  6. data/README.md +114 -0
  7. data/Rakefile +53 -0
  8. data/VERSION +1 -0
  9. data/examples/setup_http_monitoring.rb +88 -0
  10. data/giraffi.gemspec +155 -0
  11. data/lib/giraffi/client/applogs.rb +25 -0
  12. data/lib/giraffi/client/axions.rb +96 -0
  13. data/lib/giraffi/client/items.rb +102 -0
  14. data/lib/giraffi/client/logs.rb +23 -0
  15. data/lib/giraffi/client/media.rb +67 -0
  16. data/lib/giraffi/client/monitoringdata.rb +25 -0
  17. data/lib/giraffi/client/my_current_status.rb +19 -0
  18. data/lib/giraffi/client/regions.rb +15 -0
  19. data/lib/giraffi/client/services.rb +97 -0
  20. data/lib/giraffi/client/trends.rb +25 -0
  21. data/lib/giraffi/client/triggers.rb +94 -0
  22. data/lib/giraffi/client.rb +73 -0
  23. data/lib/giraffi/config.rb +60 -0
  24. data/lib/giraffi/version.rb +3 -0
  25. data/lib/giraffi.rb +26 -0
  26. data/test/applogs_test.rb +55 -0
  27. data/test/axions_test.rb +149 -0
  28. data/test/client_test.rb +52 -0
  29. data/test/fixtures/add_applogs_success_response.json +3 -0
  30. data/test/fixtures/add_monitroingdata.json +1 -0
  31. data/test/fixtures/add_service_to_item.json +12 -0
  32. data/test/fixtures/add_trigger_to_service.json +1 -0
  33. data/test/fixtures/create_axion.json +1 -0
  34. data/test/fixtures/create_item.json +15 -0
  35. data/test/fixtures/create_medium.json +1 -0
  36. data/test/fixtures/find_applogs_with_no_param.json +11 -0
  37. data/test/fixtures/find_applogs_with_params.json +2 -0
  38. data/test/fixtures/find_average_trends.json +6 -0
  39. data/test/fixtures/find_axion_by_id.json +9 -0
  40. data/test/fixtures/find_axion_by_trigger.json +11 -0
  41. data/test/fixtures/find_axion_logs_with_no_param.json +6 -0
  42. data/test/fixtures/find_axion_logs_with_params.json +5 -0
  43. data/test/fixtures/find_axions_by_trigger_with_axionkind.json +1 -0
  44. data/test/fixtures/find_axions_by_trigger_without_axionkind.json +1 -0
  45. data/test/fixtures/find_axions_with_no_param.json +1 -0
  46. data/test/fixtures/find_axions_with_params.json +11 -0
  47. data/test/fixtures/find_failure_trends.json +1 -0
  48. data/test/fixtures/find_item_by_id.json +15 -0
  49. data/test/fixtures/find_items_with_no_param.json +77 -0
  50. data/test/fixtures/find_items_with_params.json +17 -0
  51. data/test/fixtures/find_media_by_axion.json +13 -0
  52. data/test/fixtures/find_media_with_no_param.json +22 -0
  53. data/test/fixtures/find_media_with_params.json +1 -0
  54. data/test/fixtures/find_medium_by_id.json +1 -0
  55. data/test/fixtures/find_monitoringdata_with_no_param.json +4 -0
  56. data/test/fixtures/find_monitoringdata_with_params.json +3 -0
  57. data/test/fixtures/find_region_by_service.json +1 -0
  58. data/test/fixtures/find_regions.json +1 -0
  59. data/test/fixtures/find_service_by_id.json +12 -0
  60. data/test/fixtures/find_service_by_item_with_params.json +14 -0
  61. data/test/fixtures/find_services_by_item_with_no_param.json +14 -0
  62. data/test/fixtures/find_services_with_no_param.json +38 -0
  63. data/test/fixtures/find_services_with_params.json +14 -0
  64. data/test/fixtures/find_trigger_by_id.json +12 -0
  65. data/test/fixtures/find_triggers_by_service.json +1 -0
  66. data/test/fixtures/find_triggers_with_no_param.json +34 -0
  67. data/test/fixtures/find_triggers_with_params.json +14 -0
  68. data/test/fixtures/my_current_status_about_fake_uri.json +6 -0
  69. data/test/fixtures/my_current_status_about_real_uri.json +6 -0
  70. data/test/giraffi_test.rb +14 -0
  71. data/test/items_test.rb +170 -0
  72. data/test/logs_test.rb +60 -0
  73. data/test/media_test.rb +104 -0
  74. data/test/monitoringdata_test.rb +53 -0
  75. data/test/my_current_status_test.rb +29 -0
  76. data/test/regions_test.rb +20 -0
  77. data/test/services_test.rb +166 -0
  78. data/test/test_helper.rb +40 -0
  79. data/test/trends_test.rb +35 -0
  80. data/test/triggers_test.rb +151 -0
  81. metadata +271 -0
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+ require 'json'
3
+
4
+ class ApplogsTest < Test::Unit::TestCase
5
+
6
+ context "Testing Giraffi Ruby Gem for the Giraffi RESTful" do
7
+ setup do
8
+ @applog_attrs = {
9
+ :level => "error",
10
+ :type => "app",
11
+ :time => "1323318027.9443982",
12
+ :message => "Internal Server Error 500"
13
+ }
14
+ end
15
+
16
+ context 'about the API related to the applogs' do
17
+ should 'return successfully all applogs without no param' do
18
+ stub_request(:get, "#{Giraffi.endpoint}/applogs.json?apikey=#{apikey}").
19
+ with(headers: Giraffi.request_headers).
20
+ to_return(body: fixture("find_applogs_with_no_param.json"))
21
+
22
+ giraffi = Giraffi.new({apikey: apikey})
23
+ response = giraffi.find_applogs
24
+ assert response.ok?
25
+ assert_equal JSON.parse(response.body).size, 8
26
+ assert_equal JSON.parse(response.body)[0]['applog']['time'], 1317782732.9443982
27
+ end
28
+
29
+ should 'return successfully the applogs with params' do
30
+ stub_request(:get, "#{Giraffi.endpoint}/applogs.json?apikey=#{apikey}").
31
+ with(query: {level: "error"}, headers: Giraffi.request_headers).
32
+ to_return(body: fixture("find_applogs_with_params.json"))
33
+
34
+ giraffi = Giraffi.new({apikey: apikey})
35
+ response = giraffi.find_applogs({level: "error"})
36
+ assert response.ok?
37
+ assert_equal JSON.parse(response.body).size, 1
38
+ assert_equal JSON.parse(response.body)[0]['applog']['level'], 'error'
39
+ end
40
+
41
+ should 'add successfully the applogs to the Giraffi' do
42
+ stub_request(:post, "#{Giraffi.applogs_endpoint}/applogs.json?apikey=#{apikey}").
43
+ with(body: MultiJson.encode({applog: @applog_attrs}), headers: Giraffi.request_headers).
44
+ to_return(status: 200, body: fixture("add_applogs_success_response.json"))
45
+
46
+ giraffi = Giraffi.new({apikey: apikey})
47
+ response = giraffi.add_applogs(@applog_attrs)
48
+ assert response.ok?
49
+ assert_equal JSON.parse(response.body).size, 1
50
+ assert_equal JSON.parse(response.body)['status'], 'Success to logging'
51
+ end
52
+ end
53
+
54
+ end
55
+ end
@@ -0,0 +1,149 @@
1
+ require 'test_helper'
2
+
3
+ class AxionsTest < Test::Unit::TestCase
4
+ context "Testing Giraffi Ruby Gem for the Giraffi RESTful" do
5
+ setup do
6
+ @medium_id = '522'
7
+ @axion_id = '425'
8
+
9
+ @axion_attrs = {
10
+ :name => "Alerting",
11
+ :axiontype => "messaging"
12
+ }
13
+ end
14
+
15
+ context 'about the API related to the axions' do
16
+ should 'return successfully the desired axions with no param' do
17
+ stub_request(:get, "#{Giraffi.endpoint}/axions.json?apikey=#{apikey}").
18
+ with(headers: Giraffi.request_headers).
19
+ to_return(body: fixture("find_axions_with_no_param.json"))
20
+
21
+ giraffi = Giraffi.new({apikey: apikey})
22
+ response = giraffi.find_axions
23
+ assert response.ok?
24
+ assert_equal JSON.parse(response.body).size, 4
25
+ assert_equal JSON.parse(response.body)[0]['axion']['axiontype'], "http_request"
26
+ end
27
+
28
+ should 'return successfully the desired axions with params' do
29
+ stub_request(:get, "#{Giraffi.endpoint}/axions.json?apikey=#{apikey}").
30
+ with(query: {axiontype: "messaging"}, headers: Giraffi.request_headers).
31
+ to_return(body: fixture("find_axions_with_params.json"))
32
+
33
+ giraffi = Giraffi.new({apikey: apikey})
34
+ response = giraffi.find_axions({axiontype: "messaging"})
35
+ assert response.ok?
36
+ assert_equal JSON.parse(response.body).size, 1
37
+ assert_equal JSON.parse(response.body)[0]['axion']['axiontype'], "messaging"
38
+ end
39
+
40
+ should 'return successfully the desired axion by the numerical ID' do
41
+ stub_request(:get, "#{Giraffi.endpoint}/axions/#{@axion_id}.json?apikey=#{apikey}").
42
+ with(headers: Giraffi.request_headers).
43
+ to_return(body: fixture("find_axion_by_id.json"))
44
+
45
+ giraffi = Giraffi.new({apikey: apikey})
46
+ response = giraffi.find_axion(@axion_id)
47
+ assert response.ok?
48
+ assert_equal JSON.parse(response.body)['axion']['id'], @axion_id.to_i
49
+ end
50
+
51
+ should 'return successfully the media related to the axion' do
52
+ stub_request(:get, "#{Giraffi.endpoint}/axions/#{@axion_id}/media.json?apikey=#{apikey}").
53
+ with(:query => {name: "Tweat"}, headers: Giraffi.request_headers).
54
+ to_return(body: fixture("find_media_by_axion.json"))
55
+
56
+ giraffi = Giraffi.new({apikey: apikey})
57
+ response = giraffi.find_media_by_axion(@axion_id, {name: "Tweat"})
58
+ assert response.ok?
59
+ assert_equal JSON.parse(response.body)[0]['medium']['name'], "Tweat"
60
+ end
61
+
62
+ should 'create successfully a new axion' do
63
+ stub_request(:post, "#{Giraffi.endpoint}/axions.json?apikey=#{apikey}").
64
+ with(:query => {:axion => @axion_attrs}, headers: Giraffi.request_headers).
65
+ to_return(status: 201, body: fixture("create_axion.json"))
66
+
67
+ giraffi = Giraffi.new({apikey: apikey})
68
+ response = giraffi.create_axion(@axion_attrs)
69
+ assert_equal response.code, 201
70
+ assert_equal JSON.parse(response.body)['axion']['axiontype'], 'messaging'
71
+ end
72
+
73
+ should 'execute successfully the desired axion' do
74
+ stub_request(:post, "#{Giraffi.endpoint}/axions/#{@axion_id}/execute.json?apikey=#{apikey}").
75
+ with(headers: Giraffi.request_headers).
76
+ to_return(body: "\"OK\"")
77
+
78
+ giraffi = Giraffi.new({apikey: apikey})
79
+ response = giraffi.execute_axion(@axion_id)
80
+ assert response.ok?
81
+ assert_equal response.body, "\"OK\""
82
+ end
83
+
84
+ should 'update successfully the desired axion' do
85
+ stub_request(:put, "#{Giraffi.endpoint}/axions/#{@axion_id}.json?apikey=#{apikey}").
86
+ with(:body => {}, :query => {:axion => {:name => "Alerting Neo"}}, headers: Giraffi.request_headers).
87
+ to_return(body: {})
88
+ giraffi = Giraffi.new({apikey: apikey})
89
+ response = giraffi.update_axion(@axion_id, {:name => "Alerting Neo"})
90
+ assert response.ok?
91
+ assert response.body == {}
92
+ end
93
+
94
+ should 'add successfully the medium to the desired axion' do
95
+ stub_request(:put, "#{Giraffi.endpoint}/axions/#{@axion_id}/media/#{@medium_id}.json?apikey=#{apikey}").
96
+ with(:body => {}, headers: Giraffi.request_headers).
97
+ to_return(:status => 200, :body => {})
98
+
99
+ giraffi = Giraffi.new({apikey: apikey})
100
+ response = giraffi.add_medium_to_axion(@axion_id, @medium_id)
101
+ assert response.ok?
102
+ assert response.body == {}
103
+ assert_nothing_raised ArgumentError do
104
+ giraffi.add_medium_to_axion(@axion_id, @medium_id)
105
+ end
106
+ end
107
+
108
+ should 'raise an error when the number of arguments for `add_medium_to_axion` is not 2' do
109
+ giraffi = Giraffi.new({apikey: apikey})
110
+ assert_raise ArgumentError do
111
+ giraffi.add_medium_to_axion(@axion_id)
112
+ end
113
+ end
114
+
115
+ should 'delete successfully the axion' do
116
+ stub_request(:delete, "#{Giraffi.endpoint}/axions/#{@axion_id}?apikey=#{apikey}").
117
+ with(headers: Giraffi.request_headers).
118
+ to_return(status: 200, body: {})
119
+
120
+ giraffi = Giraffi.new({apikey: apikey})
121
+ response = giraffi.destroy_axion(@axion_id)
122
+ assert response.ok?
123
+ assert response.body == {}
124
+ end
125
+
126
+ should 'remove successfully a medium from the axion' do
127
+ stub_request(:delete, "#{Giraffi.endpoint}/axions/#{@axion_id}/media/#{@medium_id}.json?apikey=#{apikey}").
128
+ with(headers: Giraffi.request_headers).
129
+ to_return(status: 200, body: {})
130
+
131
+ giraffi = Giraffi.new({apikey: apikey})
132
+ response = giraffi.remove_medium_from_axion(@axion_id, @medium_id)
133
+ assert response.ok?
134
+ assert response.body == {}
135
+ assert_nothing_raised ArgumentError do
136
+ giraffi.remove_medium_from_axion(@axion_id, @medium_id)
137
+ end
138
+ end
139
+
140
+ should 'raise an error when the number of argumenrs `remove_medium_from_axion` is not 2' do
141
+ giraffi = Giraffi.new({apikey: apikey})
142
+ assert_raise ArgumentError do
143
+ giraffi.remove_medium_from_axion(@axion_id)
144
+ end
145
+ end
146
+ end
147
+
148
+ end
149
+ end
@@ -0,0 +1,52 @@
1
+ require 'test_helper'
2
+
3
+ class ClientTest < Test::Unit::TestCase
4
+ context 'Testing the Ruby Gem for the Giraffi RESTful API' do
5
+ setup do
6
+ @keys = Giraffi::Config::VALID_OPTIONS_KEYS
7
+ @configuration = {
8
+ :request_headers => {
9
+ "User-Agent" => "OreOre Ruby Gem",
10
+ "Accept" => "application/json",
11
+ "Content-Type" => "application/json"
12
+ },
13
+ :endpoint => "http://tumblr.com/",
14
+ :monitoringdata_endpoint => "http://google.com/",
15
+ :applogs_endpoint => "http://twitter.com",
16
+ :apikey => "test-key"
17
+ }
18
+ end
19
+
20
+ context 'about the class `client`' do
21
+ should 'override module configuration' do
22
+ giraffi = Giraffi.new(@configuration)
23
+ @keys.each do |key|
24
+ assert_equal giraffi.send(key), @configuration[key]
25
+ end
26
+ end
27
+
28
+ should 'override module configuration after initialization' do
29
+ giraffi = Giraffi.new
30
+ @configuration.each do |key, value|
31
+ giraffi.send("#{key}=", value)
32
+ end
33
+ @keys.each do |key|
34
+ assert_equal giraffi.send(key), @configuration[key]
35
+ end
36
+ end
37
+
38
+ should 'return the URI with the valid symbol given to `to_uri`' do
39
+ giraffi = Giraffi.new
40
+ uri = giraffi.to_uri(:papi)
41
+ assert_not_nil uri
42
+ assert_equal uri, 'https://papi.giraffi.jp'
43
+ end
44
+
45
+ should 'return nil with the invalid symbol given to `to_uri`' do
46
+ giraffi = Giraffi.new
47
+ uri = giraffi.to_uri(:foo)
48
+ assert_nil uri
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,3 @@
1
+ {
2
+ "status":"Success to logging"
3
+ }
@@ -0,0 +1 @@
1
+ {"_id":"4ee05e1c2005893ce1158764","alert":false,"checked_at":1323326945,"compared_at":1323327004,"created_at":1323327004,"job_id":"c85eed00-0396-012f-6bef-5254000ab9a8","region":"internal","service_id":17972,"servicetype":"load_average","tags":["26cfa4e2-e493-44d7-8322-4f03b467b412"],"threshold":[],"user_id":726,"value":20.0}
@@ -0,0 +1,12 @@
1
+ {
2
+ "service":{
3
+ "id":20470,
4
+ "item_id":3681,
5
+ "normalinterval":300,
6
+ "options":{},
7
+ "servicetype":"applog",
8
+ "status":1,
9
+ "warninginterval":180,
10
+ "warningretry":5
11
+ }
12
+ }
@@ -0,0 +1 @@
1
+ {"trigger":{"axioninterval":180,"id":1151,"level":0,"options":{"time":"3"},"service_id":17972,"triggertype":"timeout"}}
@@ -0,0 +1 @@
1
+ {"axion":{"axiontype":"messaging","id":425,"name":"Alerting","options":{},"user_id":726}}
@@ -0,0 +1,15 @@
1
+ {
2
+ "item":{
3
+ "allowcopy":true,
4
+ "customkey":"6f76d596-e4c7-4b54-9afb-e2615c42d1aa",
5
+ "host":"",
6
+ "id":4089,
7
+ "ip":"127.0.0.59",
8
+ "name":"Locus Solus",
9
+ "normalinterval":300,
10
+ "status":2,
11
+ "user_id":726,
12
+ "warninginterval":180,
13
+ "warningretry":5
14
+ }
15
+ }
@@ -0,0 +1 @@
1
+ {"medium":{"id":526,"mediumtype":"twitter","name":"Tweats what happened","options":{},"user_id":726}}
@@ -0,0 +1,11 @@
1
+ [
2
+ {"applog":{"id":"4edd79d463051f073200002e","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
3
+ {"applog":{"id":"4ed87abd63051f0754000014","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
4
+ {"applog":{"id":"4ed879d92005892b8d00015b","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
5
+ {"applog":{"id":"4ed876e82005892b7f00011f","type":"app","level":"error","time":1322809064.0197775,"message":"Internal Server Error 500"}},
6
+ {"applog":{"id":"4ed8732a2005892b730001d2","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
7
+ {"applog":{"id":"4ed8727b63051f0730000006","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
8
+ {"applog":{"id":"4ed872762005892b9300017c","type":"app","level":"info","time":1317782732.9443982,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}},
9
+ {"applog":{"id":"4ed86f4163051f074100000a","type":"app","level":"info","time":1317898443.020834,"message":"Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)Completed 200 OK in 12ms (Views: 0.3ms | ActiveRecord: 4.3ms)"}}
10
+ ]
11
+
@@ -0,0 +1,2 @@
1
+ [{"applog":{"id":"4ed876e82005892b7f00011f","type":"app","level":"error","time":1322809064.0197775,"message":"Internal Server Error 500"}}]
2
+
@@ -0,0 +1,6 @@
1
+ [
2
+ {"checked_at":1319328000.0,"value":13.135,"max":13.135,"min":13.135},
3
+ {"checked_at":1319328000.0,"value":13.208000000000002,"max":13.208,"min":13.208},
4
+ {"checked_at":1319500800.0,"value":13.135,"max":13.135,"min":13.135},
5
+ {"checked_at":1319500800.0,"value":13.208000000000002,"max":13.208,"min":13.208}
6
+ ]
@@ -0,0 +1,9 @@
1
+ {
2
+ "axion":{
3
+ "axiontype":"messaging",
4
+ "id":425,
5
+ "name":"Alerting",
6
+ "options":{},
7
+ "user_id":726
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ [
2
+ {
3
+ "axion":{
4
+ "axiontype":"messaging",
5
+ "id":425,
6
+ "name":"Alerting Neo",
7
+ "options":{},
8
+ "user_id":726
9
+ }
10
+ }
11
+ ]
@@ -0,0 +1,6 @@
1
+ [
2
+ {"_id":"4edf0f3463051f062b000001","axion_id":422,"axion_name":"Post message to the Convore","axion_options":{"uri":"https://convore.com/api/topics/19099/messages/create.json","method":"post","header":{"content-type":"application/x-www-form-urlencoded","Authorization":"Basic ****"},"body":{"message":"Post message by API"}},"checked_at":1323241268,"created_at":1323241268,"executed_at":1323241268,"medium_name":[],"result":500,"user_id":726},
3
+ {"_id":"4ee01c022325b409b10018f0","axion_id":425,"axion_name":"Alerting Neo","axion_options":{},"checked_at":1323310082,"created_at":1323310082,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310082,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726},
4
+ {"_id":"4ee01dca63051f07910008a5","axion_id":425,"axion_name":"Alerting Neo","axion_options":{},"checked_at":1323310538,"created_at":1323310538,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310538,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726},
5
+ {"_id":"4ee01dfa2325b409b600191f","axion_id":425,"axion_name":"AlertingNeo","axion_options":{},"checked_at":1323310586,"created_at":1323310586,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310586,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726}
6
+ ]
@@ -0,0 +1,5 @@
1
+ [
2
+ {"_id":"4ee01c022325b409b10018f0","axion_id":425,"axion_name":"Alerting Neo","axion_options":{},"checked_at":1323310082,"created_at":1323310082,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310082,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726},
3
+ {"_id":"4ee01dca63051f07910008a5","axion_id":425,"axion_name":"Alerting Neo","axion_options":{},"checked_at":1323310538,"created_at":1323310538,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310538,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726},
4
+ {"_id":"4ee01dfa2325b409b600191f","axion_id":425,"axion_name":"AlertingNeo","axion_options":{},"checked_at":1323310586,"created_at":1323310586,"customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412","executed_at":1323310586,"host":null,"ip":"127.0.0.27","item_name":"f4edede0-f719-012e-b8e4-002590346596","medium_name":["Tweat"],"result":true,"service_id":17972,"service_options":{},"servicetype":"ping","trigger_id":1150,"trigger_options":{"time":"3"},"triggertype":"timeout","user_id":726}
5
+ ]
@@ -0,0 +1 @@
1
+ [{"axion":{"axiontype":"messaging","id":425,"name":"Alerting Neo","options":{},"user_id":726}}]
@@ -0,0 +1 @@
1
+ [{"axion":{"axiontype":"messaging","id":425,"name":"Alerting Neo","options":{},"user_id":726}}]
@@ -0,0 +1 @@
1
+ [{"axion":{"axiontype":"http_request","id":423,"name":"Post message to the Campfire","options":{"uri":"https://convore.com/api/topics/19099/messages/create.json","method":"post","header":{"content-type":"application/x-www-form-urlencoded","Authorization":"Basic ****"},"body":{"message":"Post message by API"}},"user_id":726}},{"axion":{"axiontype":"http_request","id":422,"name":"Post message to the Convore","options":{"uri":"https://convore.com/api/topics/19099/messages/create.json","method":"post","header":{"content-type":"application/x-www-form-urlencoded","Authorization":"Basic ****"},"body":{"message":"Post message by API"}},"user_id":726}},{"axion":{"axiontype":"http_request","id":424,"name":"Post message to the Campfire","options":{"uri":"https://convore.com/api/topics/19099/messages/create.json","method":"post","header":{"content-type":"application/x-www-form-urlencoded","Authorization":"Basic ****"},"body":{"message":"Post message by API"}},"user_id":726}},{"axion":{"axiontype":"messaging","id":425,"name":"Alerting","options":{},"user_id":726}}]
@@ -0,0 +1,11 @@
1
+ [
2
+ {
3
+ "axion":{
4
+ "axiontype":"messaging",
5
+ "id":425,
6
+ "name":"Alerting",
7
+ "options":{},
8
+ "user_id":726
9
+ }
10
+ }
11
+ ]
@@ -0,0 +1 @@
1
+ [{"_id":"4ecb5d8e2325b40a41000040","customkey":"9522c887","failed_end_at":1321947285,"failed_start_at":1321942770,"failed_time":4515,"region":"JP","service_id":13731,"servicetype":"ping","tags":[],"user_id":726},{"_id":"4ecb79b02325b442b7000042","customkey":"9522c887","failed_end_at":1321953285,"failed_start_at":1321952385,"failed_time":900,"region":"JP","service_id":13731,"servicetype":"ping","tags":[],"user_id":726}]
@@ -0,0 +1,15 @@
1
+ {
2
+ "item":{
3
+ "allowcopy":true,
4
+ "customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412",
5
+ "host":null,
6
+ "id":3681,
7
+ "ip":"127.0.0.27",
8
+ "name":"f4edede0-f719-012e-b8e4-002590346596",
9
+ "normalinterval":300,
10
+ "status":2,
11
+ "user_id":726,
12
+ "warninginterval":180,
13
+ "warningretry":5
14
+ }
15
+ }
@@ -0,0 +1,77 @@
1
+ [
2
+ {
3
+ "item":{
4
+ "allowcopy":true,
5
+ "customkey":"6f76d596-e4c7-4b54-9afb-e2615c42d1aa",
6
+ "host":"",
7
+ "id":3845,
8
+ "ip":"127.0.0.1",
9
+ "name":"Monitor SmartMachine",
10
+ "normalinterval":300,
11
+ "status":2,
12
+ "user_id":726,
13
+ "warninginterval":180,
14
+ "warningretry":5
15
+ }
16
+ },
17
+ {
18
+ "item":{
19
+ "allowcopy":true,
20
+ "customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412",
21
+ "host":null,
22
+ "id":3681,
23
+ "ip":"127.0.0.27",
24
+ "name":"f4edede0-f719-012e-b8e4-002590346596",
25
+ "normalinterval":300,
26
+ "status":2,
27
+ "user_id":726,
28
+ "warninginterval":180,
29
+ "warningretry":5
30
+ }
31
+ },
32
+ {
33
+ "item":{
34
+ "allowcopy":true,
35
+ "customkey":null,
36
+ "host":null,
37
+ "id":4004,
38
+ "ip":null,
39
+ "name":"applog test",
40
+ "normalinterval":300,
41
+ "status":1,
42
+ "user_id":726,
43
+ "warninginterval":180,
44
+ "warningretry":5
45
+ }
46
+ },
47
+ {
48
+ "item":{
49
+ "allowcopy":true,
50
+ "customkey":"6f76d596-e4c7-4b54-9afb-e2615c42d1aa",
51
+ "host":null,
52
+ "id":3824,
53
+ "ip":"127.0.0.59",
54
+ "name":"d969d770-f8d1-012e-b8e8-002590346596",
55
+ "normalinterval":300,
56
+ "status":2,
57
+ "user_id":726,
58
+ "warninginterval":180,
59
+ "warningretry":5
60
+ }
61
+ },
62
+ {
63
+ "item":{
64
+ "allowcopy":true,
65
+ "customkey":"411663d2-0fac-406d-a08e-94e79b993a49",
66
+ "host":null,
67
+ "id":3823,
68
+ "ip":"127.0.0.65",
69
+ "name":"d9ef6020-f8d1-012e-b8e9-002590346596",
70
+ "normalinterval":300,
71
+ "status":2,
72
+ "user_id":726,
73
+ "warninginterval":180,
74
+ "warningretry":5
75
+ }
76
+ }
77
+ ]
@@ -0,0 +1,17 @@
1
+ [
2
+ {
3
+ "item":{
4
+ "allowcopy":true,
5
+ "customkey":"26cfa4e2-e493-44d7-8322-4f03b467b412",
6
+ "host":null,
7
+ "id":3681,
8
+ "ip":"127.0.0.27",
9
+ "name":"f4edede0-f719-012e-b8e4-002590346596",
10
+ "normalinterval":300,
11
+ "status":2,
12
+ "user_id":726,
13
+ "warninginterval":180,
14
+ "warningretry":5
15
+ }
16
+ }
17
+ ]
@@ -0,0 +1,13 @@
1
+ [
2
+ {
3
+ "medium":{
4
+ "id":522,
5
+ "mediumtype":"email",
6
+ "name":"Tweat",
7
+ "options":{
8
+ "address":"foohoge@example.com"
9
+ },
10
+ "user_id":726
11
+ }
12
+ }
13
+ ]
@@ -0,0 +1,22 @@
1
+ [
2
+ {
3
+ "medium":{
4
+ "id":520,
5
+ "mediumtype":"email",
6
+ "name":"Incident ML",
7
+ "options":{
8
+ "address":"abc@example.com"
9
+ },
10
+ "user_id":726
11
+ }
12
+ },
13
+ {
14
+ "medium":{
15
+ "id":522,
16
+ "mediumtype":"twitter",
17
+ "name":"Tweat",
18
+ "options":{},
19
+ "user_id":726
20
+ }
21
+ }
22
+ ]
@@ -0,0 +1 @@
1
+ [{"medium":{"id":522,"mediumtype":"twitter","name":"Tweat","options":{},"user_id":726}}]
@@ -0,0 +1 @@
1
+ {"medium":{"id":522,"mediumtype":"twitter","name":"Tweat","options":{},"user_id":726}}
@@ -0,0 +1,4 @@
1
+ [
2
+ {"_id":"4ed8918c2325b4098b01d710","alert":false,"checked_at":1322815134,"compared_at":1322815884,"created_at":1322815884,"job_id":"bce29a30-fef0-012e-4b4f-525400011682","region":"internal","service_id":19838,"servicetype":"load_average","tags":["26cfa4e2-e493-44d7-8322-4f03b467b412"],"threshold":[],"user_id":726,"value":20.0},
3
+ {"_id":"4edd7a672005893ce1140053","alert":false,"checked_at":1323137583,"compared_at":1323137639,"created_at":1323137639,"job_id":"e21d3e40-01dd-012f-6bef-5254000ab9a8","region":"internal","service_id":19838,"servicetype":"load_average","tags":["26cfa4e2-e493-44d7-8322-4f03b467b412"],"threshold":[],"user_id":726,"value":20.0}
4
+ ]
@@ -0,0 +1,3 @@
1
+ [
2
+ {"_id":"4edd7a672005893ce1140053","alert":false,"checked_at":1323137583,"compared_at":1323137639,"created_at":1323137639,"job_id":"e21d3e40-01dd-012f-6bef-5254000ab9a8","region":"internal","service_id":19838,"servicetype":"load_average","tags":["26cfa4e2-e493-44d7-8322-4f03b467b412"],"threshold":[],"user_id":726,"value":20.0}
3
+ ]
@@ -0,0 +1 @@
1
+ [{"region":{"code":"JP","id":1}}]
@@ -0,0 +1 @@
1
+ [{"region":{"code":"JP","id":1}}]
@@ -0,0 +1,12 @@
1
+ {
2
+ "service":{
3
+ "id":17972,
4
+ "item_id":3681,
5
+ "normalinterval":300,
6
+ "options":{},
7
+ "servicetype":"ping",
8
+ "status":2,
9
+ "warninginterval":180,
10
+ "warningretry":5
11
+ }
12
+ }
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "service":{
4
+ "id":17972,
5
+ "item_id":3681,
6
+ "normalinterval":300,
7
+ "options":{},
8
+ "servicetype":"ping",
9
+ "status":2,
10
+ "warninginterval":180,
11
+ "warningretry":5
12
+ }
13
+ }
14
+ ]
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "service":{
4
+ "id":17972,
5
+ "item_id":3681,
6
+ "normalinterval":300,
7
+ "options":{},
8
+ "servicetype":"ping",
9
+ "status":2,
10
+ "warninginterval":180,
11
+ "warningretry":5
12
+ }
13
+ }
14
+ ]