CustoSec:Check GSM

From CustosecWiki
Jump to navigation Jump to search
caption
Basic Information on Check
Name of Check GSM-Communication Technical Name check_gsm
Available in Standard Number of Arguments 6
From Version ARANSEC 2.41 Compability All ARANSEC and CustoSec



Scope of Check

This is a very powerful check to monitor GSM-communication between ARANSEC / CustoSec and other GSM receivers. Its main purpose is to monitor GSM modules of other systems or machines. Since machine-to-machine communication based on SMS is a growing market, this check allows to enhance standard network monitoring into monitoring other means of communication. It is based on the "SMS delivery confirmation" service which is a standard GSM feature.


Please note:

  • Only one check per phone number is allowed.
  • Using this check might lead to additional costs from your GSM-provider (usually the cost of an SMS). Please check with your provider


Requirements

To use the check, the following requirements must be met:

  • The GSM Module on ARANSEC / CustoSec is active and logged into the network.


Arguments

To configure the check, the following arguments are available:

Argument No. Argument Name Allowed Arguments Explanation Examples
Arg1 phone nr numbers The phone number of the targeted GSM-system. The number has to be entered with preceding country code, but without any special characters or spaces.
Please note that only one check per phone number is supported.
436761234567
Arg2 mode report:
string:message:expected reply
The check can work with 2 different modes:
report: The check will act on the status report which is sent back by the network provider. The interpretation of the GSM status codes are:
Status code < 3, the check will return OK
Status code > 31, the check will return WARNING
Status code > 63, the check will return CRITICAL
in all cases an explaining text will be returned as well.
report:
Arg3 time out Integer Maximum reply time in seconds. If no reply was received within the timeout period, CRITICAL will be returned.
SMS-transfer sometimes can take some minutes, so it makes sense not to set this time out too low.
300
Arg4 multiplier Integer Multiplies the normal and retry check interval. A new short message will be send after the check was executed n times where n = check interval * multiplier.
Note: If the Multiplier is set to i.e. 8 the new SMS will be sent at the 9th execution of the check.
Note:To get the result status as fast as possible and because no one knows how long the reply will take, it is recommended to use a low check interval and set the multiplier to a higher value. For calculating a specific check behaviour, see the example section below.
60
Arg5 warn Integer Warning threshold. To disable the warning threshold, set it to 0
Note: If mode is set to report:, the real delivery time is measured. If mode is set to string:, the sum of the real delivery time and the reply time is measured.
20
Arg6 crit Integer Critical threshold. To disable the warning threshold, set it to 0
Note: If mode is set to report:, the real delivery time is measured. If mode is set to string:, the sum of the real delivery time and the reply time is measured.
30

Explanations

  • The check in NAGIOS is separated from the SMS-management. This means, sending and reception of SMS are managed in the GSM-module of ARANSEC/CustoSec, which is not integrated in NAGIOS. The check itself "looks" into the GSM-modules log file to check if/when a SMS has been received to determine it's status.

In case of mode "String:.."

  • The check monitors the SMS-management and looks if there has been a SMS send and a SMS been received. If an answer has been received and it matches the return string, it will calculate the seconds between the SMS sent and the reception. This number of seconds will be reported on in the performance data. (Entry in check output: "hello == hello in 7102 sec." and in performance data:"duration=7102s;warning;critical)
  • If the length of the response time (seconds between the SMS sent and the reception of the answer) exceeds the WARNING or CRITICAL - settings in the check, the check will change into the WARNING/CRITICAL state. It will stay there and the check will be rescheduled according to the "retry-interval" and the "max check attempts" settings. During that phase, no new SMS will be sent and the check only checks against a static entry in the SMS-management.

Return Values

The Check returns the following messages and values:

Return in Service Output Return in Performance Data Explanation
hello == hello in xx sec. duration=xxs;600;1200 The checks reports the seconds between the time stamp of the last sent SMS and the time stamp of the response SMS. The Status will be OK.
In the performance data, the WARNING and CRITICAL values (in seconds) will be shown
hello == hello in xx sec. send SMS. duration=xxs;600;1200 The same as above. But the check has reached the

number of check executions defined by the multiplier and a new SMS is sent.

previous check has not been finished yet <empty> The check cannot find a correct response SMS, but the time out (Argument 3, allowed time for response) is not yet over. The Status will not change, which means, it will keep it's status form before the SMS was sent.
Note: the performance data stay empty.
check has not been finished within the specified timeout. <empty> The check cannot find a correct response SMS and the time out (Argument 3, allowed time for response) is over. The Status will now change into CRITICAL (Soft). From now on the check will start the retries. According to the settings it will do retry with the retry interval up to the maximum retries. After that, the Checks will sent a new SMS and the status will become CRITICAL (HARD).
Note: the performance data stay empty.
check has not been finished within the specified timeout. send sms <empty> Same as above. The last of the retries has been reached and a new SMS will be sent.

Example

Arguments in the Check: !436766386881!string:test_3_std:hello!10800!8!0!0
Normal Check Interval: 60
Retry Check Interval: 20
Max Check Attempts: 10


Results of the check

Has to be written based on a csv-file.