Difference between revisions of "Monitoring"
[checked revision] | [checked revision] |
Ltalaschus (talk | contribs) |
Ltalaschus (talk | contribs) |
||
Line 17: | Line 17: | ||
define command { | define command { | ||
command_name check_mailstore | command_name check_mailstore | ||
− | command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --password $ | + | command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --username $ARG2$ --password $ARG3$ -s since:$ARG4$ --status $ARG5$ -c $ARG6$ -w $ARG7$ --search $ARG8$ |
} | } | ||
Line 25: | Line 25: | ||
host_name mailstoreserver | host_name mailstoreserver | ||
service_description MailStore Succeeded Profiles | service_description MailStore Succeeded Profiles | ||
− | check_command check_mailstore!mailstoreserver!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles | + | check_command check_mailstore!mailstoreserver!admin!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles |
use generic-service | use generic-service | ||
} | } | ||
This test checks whether there were more then 10 tasks executed successfully (--status succeeded) during the last hour (-s since:1H). | This test checks whether there were more then 10 tasks executed successfully (--status succeeded) during the last hour (-s since:1H). | ||
+ | |||
+ | <p class="msnote">'''Notice:''' When monitoring an SPE instance you have to use the service provider's admin credentials which is used to log in into the SPE Management Console.</p> | ||
==== Parameters ==== | ==== Parameters ==== | ||
Line 104: | Line 106: | ||
==== Other examples ==== | ==== Other examples ==== | ||
− | check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 2 --search profiles --status="#succeeded" --compare gt | + | check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 2 --search profiles --status="#succeeded" --compare gt |
Status is critical if more than (--compare gt) 5 (-c 5) profiles (--search profiles) have NOT ended succesfully (--status "#succeeded") within the last day (-s "since:1d"). A warning is issued when more than 2 unsuccessful profiles have been found. | Status is critical if more than (--compare gt) 5 (-c 5) profiles (--search profiles) have NOT ended succesfully (--status "#succeeded") within the last day (-s "since:1d"). A warning is issued when more than 2 unsuccessful profiles have been found. | ||
− | check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 20 --search emails --profile "MailStore Proxy" | + | check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 20 --search emails --profile "MailStore Proxy" |
Status is critical if less than 5 (-c 5) emails (--search emails) were archived within a day by the the profile "MailStore proxy" (--profile "MailStore proxy"). A warning is issued when less than 20 emails were archived. | Status is critical if less than 5 (-c 5) emails (--search emails) were archived within a day by the the profile "MailStore proxy" (--profile "MailStore proxy"). A warning is issued when less than 20 emails were archived. |
Revision as of 10:05, 22 January 2018
MailStore only provides limited notification or monitoring features, but the status of the archiving processes can be monitored using external components.
Using External Monitoring Software
MailStore Nagios/Icinga-Plugin
The Scripting-Package includes the check_mailstore.py plugin. The plugin checks the number of profiles run or the number of archived emails in a given period of time. At least MailStore Server 8 is required. Unless stated otherwise, the scripts are released under the terms an conditions of the MIT License.
Installation
The Python API-Wrapper has to be installed. Depending on your distribution, you might have to install the python-argparse package.
The plugin connects to the MailStore Server Administration API. Therefore it must be enabled in the MailStore Server Service Configuration.
Usage
A check that monitors the successful execution of profiles could be defined in Nagios/Icinga as follows:
define command { command_name check_mailstore command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --username $ARG2$ --password $ARG3$ -s since:$ARG4$ --status $ARG5$ -c $ARG6$ -w $ARG7$ --search $ARG8$ }
The appropriate service definition might look like this:
define service { host_name mailstoreserver service_description MailStore Succeeded Profiles check_command check_mailstore!mailstoreserver!admin!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles use generic-service }
This test checks whether there were more then 10 tasks executed successfully (--status succeeded) during the last hour (-s since:1H).
Notice: When monitoring an SPE instance you have to use the service provider's admin credentials which is used to log in into the SPE Management Console.
Parameters
The plugin supports the following parameters.
--help|--h
Displays the help page.
--host HOST
Hostname or IP address of the MailStore Server. The default is localhost.
--port PORT
TCP port on which the MailStore Administration API accepts connections. Default is 8463.
--username USERNAME
Username to log on to MailStore Server. This must be a MailStore administrator. By default, admin is used.
--password PASSWORD
The user's password.
--start STARTTIME|-s STARTTIME
Specifies the start time of the check period. The start time has to be given in the format YYYY-mm-ddTHH:MM:SS (eg 2013-01-01T00:00:00). The -end parameter has to be given. As alternative a time period can be given with the format since:XY, where X is a number and Y is one of the following letters: Y (year), m (month), d (day), H (hour), M (minute) S (second). Example -s since: 90M (last 90 minutes).
--end ENDTIME|-e ENDTIME
Specifies the end time of the period. The format is YYYY-mm-ddTHH:MM:SS (eg 2013-02-28T23:59:59). When using since in --start, this parameter is not required.
--timezone TIMEZONE
MailStore Server stores dates in UTC time. The output of the plugin can be adjusted with this parameter. By default, $local is used. This corresponds to the time zone setting of the operating system of MailStore Server. Using the API command GetTimeZones the possible values can be shown. In most cases, this parameter is not required.
--machinename MACHINENAME|-m MACHINENAME
Filters the results by MACHINENAME. This is useful when the results of local profiles of different computers are monitored.
--user USERNAME
Filters the results by USERNAME. This is useful when the results of profiles of different users are monitored.
--profile PROFILE|-p PROFILE
Filters the results by archiving profile. The ID or the name of an archiving profile can be given.
--status STATUS
Filters the results by STATUS. Possible values are succeeded, failed, cancelled, disconnected, threadAbort and completedWithErrors. The status can be negated by prepending a #. Default is succeeded. Use #all, if you want the results of all profiles, regardless of the status.
--search [profiles|emails]
Specifies whether to check on the number of returned profiles or the number of mails archived. Default is profiles.
--warning WARNING|-w WARNING
The warning threshold.
--critical CRITICAL|-c CRITICAL
The critical threshold.
--compare COMPARE
Specifies how the values of WARNING and CRITICAL will be compared with the amount of results. Possible values are lt, le, eq, ge, gt (lesser than, lesser than or equal, equal, greater than or equal, greater than). Default is le (lesser than or equal).
--DEBUG
If given, the matching results will be printed to standard output. This is only useful for debugging purpose.
Other examples
check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 2 --search profiles --status="#succeeded" --compare gt
Status is critical if more than (--compare gt) 5 (-c 5) profiles (--search profiles) have NOT ended succesfully (--status "#succeeded") within the last day (-s "since:1d"). A warning is issued when more than 2 unsuccessful profiles have been found.
check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 20 --search emails --profile "MailStore Proxy"
Status is critical if less than 5 (-c 5) emails (--search emails) were archived within a day by the the profile "MailStore proxy" (--profile "MailStore proxy"). A warning is issued when less than 20 emails were archived.
Monitoring of licenced users
The check_mailstorelicence-script from the scripting-pakage, can be used to monitor the existing users in MailStore with Nagios/Icinga. No external arguments can be used, all configuration has to be done inside the file. If you synchronize your users from an external source, and more users than free licences should be created in one step, this monitoring will not holler, because it checks the existing users only and not the users that shall be created.
Command-Definition:
define command { command_name check_mailstorelicence command_line /usr/local/lib/nagios/plugins/check_mailstorelicence.py --host $ARG1$ --password $ARG2$ --licensed $ARG3$ --warning $ARG4$ --critical $ARG5$ }
Nagios/Icinga with NSClient++
If you are already using monitoring software, such as Nagios/Icinga, Zabbix or HP OpenView, in your network, we recommend monitoring the results of the Windows task scheduler.
This example requires that in section [NRPE] of the file NSC.ini the parameter allow_arguments=1 is set. An alternative, and safer in public environments, is to define an alias under section External Alias]].
Under Nagios/Icinga the corresponding service check looks like this:
define service { use generic-service host_name mailstore.mydomain.tld service_description Scheduled Tasks check_command check_nrpe!CheckTaskSched!filter="exit_code ne 0" "syntax=%title%: %exit_code%" "crit=>0" }
The service check puts out a list of all scheduled tasks in the Windows task scheduler whose exit code is unequal to zero. If there is more than one event, the check status Critical is set. The return contains a list of all tasks with exit codes unequal to zero and their exit codes.