updated opensips to prevent reusing variables
Costa Tsaousis (ktsaou) committed
Nov 19, 2015 at 12:11 UTC
d48eb0a6b88532d2f7cbea9fdc75ad02bfa67097
1 file changed
+125
-58
charts.d/opensips.chart.sh
+125
-58
@@ -3,21 +3,29 @@
3
opensips_opts="fifo get_statistics all"
4
opensips_cmd="opensipsctl"
5
opensips_update_every=5
6
+opensips_timeout=2
7
8
opensips_get_stats() {
8
- "$opensips_cmd" $opensips_opts |\
9
+ timeout $opensips_timeout "$opensips_cmd" $opensips_opts |\
10
grep "^\(core\|dialog\|net\|registrar\|shmem\|siptrace\|sl\|tm\|uri\|usrloc\):[a-zA-Z0-9_ -]\+[[:space:]]*=[[:space:]]*[0-9]\+[[:space:]]*$" |\
11
sed -e "s|-|_|g" \
12
-e "s|:|_|g" \
13
-e "s|[[:space:]]\+=[[:space:]]\+|=|g" \
14
-e "s|[[:space:]]\+$||" \
15
-e "s|^[[:space:]]\+||" \
15
- -e "s|[[:space:]]\+|_|"
16
+ -e "s|[[:space:]]\+|_|" \
17
+ -e "s|^|opensips_|g"
18
+
19
+ local ret=$?
20
+ [ $ret -ne 0 ] && echo "opensips_command_failed=1"
21
+ return $ret
22
}
23
24
opensips_check() {
25
+ require_cmd timeout || return 1
26
+
27
# check once if the url works
20
- local x="$(opensips_get_stats | grep "^core_")"
28
+ local x="$(opensips_get_stats | grep "^opensips_core_")"
29
if [ ! $? -eq 0 -o -z "$x" ]
30
then
31
echo >&2 "opensips: cannot get global status. Please set opensips_opts='options' whatever needed to get connected to opensips server, in $confd/opensips.conf"
@@ -146,121 +154,180 @@ opensips_update() {
154
# prepare the script and always grep at the end the lines that are usefull, so that
155
# even if something goes wrong, no other code can be executed
156
157
+ unset \
158
+ opensips_dialog_active_dialogs \
159
+ opensips_dialog_early_dialogs \
160
+ opensips_usrloc_registered_users \
161
+ opensips_usrloc_location_users \
162
+ opensips_usrloc_location_contacts \
163
+ opensips_usrloc_location_expires \
164
+ opensips_registrar_accepted_regs \
165
+ opensips_registrar_rejected_regs \
166
+ opensips_tm_UAS_transactions \
167
+ opensips_tm_UAC_transactions \
168
+ opensips_core_rcv_requests \
169
+ opensips_core_rcv_replies \
170
+ opensips_core_fwd_requests \
171
+ opensips_core_fwd_replies \
172
+ opensips_core_drop_requests \
173
+ opensips_core_drop_replies \
174
+ opensips_core_err_requests \
175
+ opensips_core_err_replies \
176
+ opensips_core_bad_URIs_rcvd \
177
+ opensips_core_unsupported_methods \
178
+ opensips_core_bad_msg_hdr \
179
+ opensips_tm_received_replies \
180
+ opensips_tm_relayed_replies \
181
+ opensips_tm_local_replies \
182
+ opensips_tm_2xx_transactions \
183
+ opensips_tm_3xx_transactions \
184
+ opensips_tm_4xx_transactions \
185
+ opensips_tm_5xx_transactions \
186
+ opensips_tm_6xx_transactions \
187
+ opensips_tm_inuse_transactions \
188
+ opensips_sl_1xx_replies \
189
+ opensips_sl_2xx_replies \
190
+ opensips_sl_3xx_replies \
191
+ opensips_sl_4xx_replies \
192
+ opensips_sl_5xx_replies \
193
+ opensips_sl_6xx_replies \
194
+ opensips_sl_sent_replies \
195
+ opensips_sl_sent_err_replies \
196
+ opensips_sl_received_ACKs \
197
+ opensips_dialog_processed_dialogs \
198
+ opensips_dialog_expired_dialogs \
199
+ opensips_dialog_failed_dialogs \
200
+ opensips_net_waiting_udp \
201
+ opensips_net_waiting_tcp \
202
+ opensips_uri_positive_checks \
203
+ opensips_uri_negative_checks \
204
+ opensips_siptrace_traced_requests \
205
+ opensips_siptrace_traced_replies \
206
+ opensips_shmem_total_size \
207
+ opensips_shmem_used_size \
208
+ opensips_shmem_real_used_size \
209
+ opensips_shmem_max_used_size \
210
+ opensips_shmem_free_size \
211
+ opensips_shmem_fragments
212
+
213
+ opensips_command_failed=0
214
eval "local $(opensips_get_stats)"
150
- [ $? -ne 0 ] && continue
215
+ [ $? -ne 0 ] && return 1
216
+
217
+ [ $opensips_command_failed -eq 1 ] && echo >&2 "opensips: failed to get values, disabling." && return 1
218
219
# write the result of the work.
220
cat <<VALUESEOF
221
222
BEGIN opensips.dialogs_active $1
156
-SET dialog_active_dialogs = $dialog_active_dialogs
157
-SET dialog_early_dialogs = $dialog_early_dialogs
223
+SET dialog_active_dialogs = $opensips_dialog_active_dialogs
224
+SET dialog_early_dialogs = $opensips_dialog_early_dialogs
225
END
226
227
BEGIN opensips.users $1
161
-SET usrloc_registered_users = $usrloc_registered_users
162
-SET usrloc_location_users = $usrloc_location_users
163
-SET usrloc_location_contacts = $usrloc_location_contacts
164
-SET usrloc_location_expires = $usrloc_location_expires
228
+SET usrloc_registered_users = $opensips_usrloc_registered_users
229
+SET usrloc_location_users = $opensips_usrloc_location_users
230
+SET usrloc_location_contacts = $opensips_usrloc_location_contacts
231
+SET usrloc_location_expires = $opensips_usrloc_location_expires
232
END
233
234
BEGIN opensips.registrar $1
168
-SET registrar_accepted_regs = $registrar_accepted_regs
169
-SET registrar_rejected_regs = $registrar_rejected_regs
235
+SET registrar_accepted_regs = $opensips_registrar_accepted_regs
236
+SET registrar_rejected_regs = $opensips_registrar_rejected_regs
237
END
238
239
BEGIN opensips.transactions $1
173
-SET tm_UAS_transactions = $tm_UAS_transactions
174
-SET tm_UAC_transactions = $tm_UAC_transactions
240
+SET tm_UAS_transactions = $opensips_tm_UAS_transactions
241
+SET tm_UAC_transactions = $opensips_tm_UAC_transactions
242
END
243
244
BEGIN opensips.core_rcv $1
178
-SET core_rcv_requests = $core_rcv_requests
179
-SET core_rcv_replies = $core_rcv_replies
245
+SET core_rcv_requests = $opensips_core_rcv_requests
246
+SET core_rcv_replies = $opensips_core_rcv_replies
247
END
248
249
BEGIN opensips.core_fwd $1
183
-SET core_fwd_requests = $core_fwd_requests
184
-SET core_fwd_replies = $core_fwd_replies
250
+SET core_fwd_requests = $opensips_core_fwd_requests
251
+SET core_fwd_replies = $opensips_core_fwd_replies
252
END
253
254
BEGIN opensips.core_drop $1
188
-SET core_drop_requests = $core_drop_requests
189
-SET core_drop_replies = $core_drop_replies
255
+SET core_drop_requests = $opensips_core_drop_requests
256
+SET core_drop_replies = $opensips_core_drop_replies
257
END
258
259
BEGIN opensips.core_err $1
193
-SET core_err_requests = $core_err_requests
194
-SET core_err_replies = $core_err_replies
260
+SET core_err_requests = $opensips_core_err_requests
261
+SET core_err_replies = $opensips_core_err_replies
262
END
263
264
BEGIN opensips.core_bad $1
198
-SET core_bad_URIs_rcvd = $core_bad_URIs_rcvd
199
-SET core_unsupported_methods = $core_unsupported_methods
200
-SET core_bad_msg_hdr = $core_bad_msg_hdr
265
+SET core_bad_URIs_rcvd = $opensips_core_bad_URIs_rcvd
266
+SET core_unsupported_methods = $opensips_core_unsupported_methods
267
+SET core_bad_msg_hdr = $opensips_core_bad_msg_hdr
268
END
269
270
BEGIN opensips.tm_replies $1
204
-SET tm_received_replies = $tm_received_replies
205
-SET tm_relayed_replies = $tm_relayed_replies
206
-SET tm_local_replies = $tm_local_replies
271
+SET tm_received_replies = $opensips_tm_received_replies
272
+SET tm_relayed_replies = $opensips_tm_relayed_replies
273
+SET tm_local_replies = $opensips_tm_local_replies
274
END
275
276
BEGIN opensips.transactions_status $1
210
-SET tm_2xx_transactions = $tm_2xx_transactions
211
-SET tm_3xx_transactions = $tm_3xx_transactions
212
-SET tm_4xx_transactions = $tm_4xx_transactions
213
-SET tm_5xx_transactions = $tm_5xx_transactions
214
-SET tm_6xx_transactions = $tm_6xx_transactions
277
+SET tm_2xx_transactions = $opensips_tm_2xx_transactions
278
+SET tm_3xx_transactions = $opensips_tm_3xx_transactions
279
+SET tm_4xx_transactions = $opensips_tm_4xx_transactions
280
+SET tm_5xx_transactions = $opensips_tm_5xx_transactions
281
+SET tm_6xx_transactions = $opensips_tm_6xx_transactions
282
END
283
284
BEGIN opensips.transactions_inuse $1
218
-SET tm_inuse_transactions = $tm_inuse_transactions
285
+SET tm_inuse_transactions = $opensips_tm_inuse_transactions
286
END
287
288
BEGIN opensips.sl_replies $1
222
-SET sl_1xx_replies = $sl_1xx_replies
223
-SET sl_2xx_replies = $sl_2xx_replies
224
-SET sl_3xx_replies = $sl_3xx_replies
225
-SET sl_4xx_replies = $sl_4xx_replies
226
-SET sl_5xx_replies = $sl_5xx_replies
227
-SET sl_6xx_replies = $sl_6xx_replies
228
-SET sl_sent_replies = $sl_sent_replies
229
-SET sl_sent_err_replies = $sl_sent_err_replies
230
-SET sl_received_ACKs = $sl_received_ACKs
289
+SET sl_1xx_replies = $opensips_sl_1xx_replies
290
+SET sl_2xx_replies = $opensips_sl_2xx_replies
291
+SET sl_3xx_replies = $opensips_sl_3xx_replies
292
+SET sl_4xx_replies = $opensips_sl_4xx_replies
293
+SET sl_5xx_replies = $opensips_sl_5xx_replies
294
+SET sl_6xx_replies = $opensips_sl_6xx_replies
295
+SET sl_sent_replies = $opensips_sl_sent_replies
296
+SET sl_sent_err_replies = $opensips_sl_sent_err_replies
297
+SET sl_received_ACKs = $opensips_sl_received_ACKs
298
END
299
300
BEGIN opensips.dialogs $1
234
-SET dialog_processed_dialogs = $dialog_processed_dialogs
235
-SET dialog_expired_dialogs = $dialog_expired_dialogs
236
-SET dialog_failed_dialogs = $dialog_failed_dialogs
301
+SET dialog_processed_dialogs = $opensips_dialog_processed_dialogs
302
+SET dialog_expired_dialogs = $opensips_dialog_expired_dialogs
303
+SET dialog_failed_dialogs = $opensips_dialog_failed_dialogs
304
END
305
306
BEGIN opensips.net_waiting $1
240
-SET net_waiting_udp = $net_waiting_udp
241
-SET net_waiting_tcp = $net_waiting_tcp
307
+SET net_waiting_udp = $opensips_net_waiting_udp
308
+SET net_waiting_tcp = $opensips_net_waiting_tcp
309
END
310
311
BEGIN opensips.uri_checks $1
245
-SET uri_positive_checks = $uri_positive_checks
246
-SET uri_negative_checks = $uri_negative_checks
312
+SET uri_positive_checks = $opensips_uri_positive_checks
313
+SET uri_negative_checks = $opensips_uri_negative_checks
314
END
315
316
BEGIN opensips.traces $1
250
-SET siptrace_traced_requests = $siptrace_traced_requests
251
-SET siptrace_traced_replies = $siptrace_traced_replies
317
+SET siptrace_traced_requests = $opensips_siptrace_traced_requests
318
+SET siptrace_traced_replies = $opensips_siptrace_traced_replies
319
END
320
321
BEGIN opensips.shmem $1
255
-SET shmem_total_size = $shmem_total_size
256
-SET shmem_used_size = $shmem_used_size
257
-SET shmem_real_used_size = $shmem_real_used_size
258
-SET shmem_max_used_size = $shmem_max_used_size
259
-SET shmem_free_size = $shmem_free_size
322
+SET shmem_total_size = $opensips_shmem_total_size
323
+SET shmem_used_size = $opensips_shmem_used_size
324
+SET shmem_real_used_size = $opensips_shmem_real_used_size
325
+SET shmem_max_used_size = $opensips_shmem_max_used_size
326
+SET shmem_free_size = $opensips_shmem_free_size
327
END
328
329
BEGIN opensips.shmem_fragments $1
263
-SET shmem_fragments = $shmem_fragments
330
+SET shmem_fragments = $opensips_shmem_fragments
331
END
332
VALUESEOF
333