@@ -84,70 +84,6 @@ def check_age
84
84
end
85
85
end
86
86
87
- # grab data from graphite
88
- def retrieve_data
89
- unless @raw_data
90
- begin
91
- unless config [ :server ] . start_with? ( 'https://' , 'http://' )
92
- config [ :server ] . prepend ( 'http://' )
93
- end
94
-
95
- url = "#{ config [ :server ] } /render?format=json&target=#{ formatted_target } &from=#{ config [ :from ] } &until=#{ config [ :until ] } "
96
-
97
- url_opts = { }
98
-
99
- if config [ :no_ssl_verify ]
100
- url_opts [ :ssl_verify_mode ] = OpenSSL ::SSL ::VERIFY_NONE
101
- end
102
-
103
- if config [ :username ] && ( config [ :password ] || config [ :passfile ] )
104
- if config [ :passfile ]
105
- pass = File . open ( config [ :passfile ] ) . readline
106
- elsif config [ :password ]
107
- pass = config [ :password ]
108
- end
109
-
110
- url_opts [ :http_basic_authentication ] = [ config [ :username ] , pass . chomp ]
111
- end # we don't have both username and password trying without
112
-
113
- handle = open ( url , url_opts )
114
-
115
- @raw_data = handle . gets
116
- if @raw_data == '[]'
117
- unknown 'Empty data received from Graphite - metric probably doesn\'t exist'
118
- else
119
- @json_data = JSON . parse ( @raw_data )
120
- output = { }
121
- @json_data . each do |raw |
122
- raw [ 'datapoints' ] . delete_if { |v | v . first . nil? }
123
- next if raw [ 'datapoints' ] . empty?
124
- target = raw [ 'target' ]
125
- data = raw [ 'datapoints' ] . map ( &:first )
126
- start = raw [ 'datapoints' ] . first . last
127
- dend = raw [ 'datapoints' ] . last . last
128
- step = ( ( dend - start ) / raw [ 'datapoints' ] . size . to_f ) . ceil
129
- output [ target ] = { 'target' => target , 'data' => data , 'start' => start , 'end' => dend , 'step' => step }
130
- end
131
- output
132
- end
133
- rescue SocketError
134
- unknown 'Failed to connect to graphite server'
135
- rescue OpenURI ::HTTPError
136
- unknown 'Server error or invalid graphite expression'
137
- rescue NoMethodError
138
- unknown 'No data for time period and/or target'
139
- rescue Errno ::ECONNREFUSED
140
- unknown 'Connection refused when connecting to Graphite server'
141
- rescue Errno ::ECONNRESET
142
- unknown 'Connection reset by peer when connecting to Graphite server'
143
- rescue EOFError
144
- unknown 'End of file error when reading from Graphite server'
145
- rescue => e
146
- unknown "An unknown error occurred: #{ e . inspect } "
147
- end
148
- end
149
- end
150
-
151
87
# type:: :warning or :critical
152
88
# Return alert if required
153
89
def check ( type )
0 commit comments