aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
Diffstat (limited to 'man')
-rw-r--r--man/moncheck.1103
1 files changed, 103 insertions, 0 deletions
diff --git a/man/moncheck.1 b/man/moncheck.1
new file mode 100644
index 0000000..ede4990
--- /dev/null
+++ b/man/moncheck.1
@@ -0,0 +1,103 @@
+.TH moncheck 1
+.SH NAME
+moncheck \- runs shell commands as checks
+.SH SYNOPSIS
+.B moncheck
+[\fB\-\-config\fR \fIPATH\fR]
+.SH DESCRIPTION
+.B moncheck
+runs commands as checks and reports the result back into the database.
+.SH OPTIONS
+.TP
+.BR \-\-config =\fIPATH\fR
+Use the specified config file.
+.SH CONFIGURATION
+The configuration file must be formatted in json.
+Known keys and their effect are as follows:
+.TP
+.BR checker_id
+The \fIchecker_id\fR is required and is used to look up which checks should be
+run by the monzero instance.
+It is okay to run multiple instances with the same \fIchecker_id\fR, as the scheduling
+and locking is done in the database.
+
+.TP
+.BR db
+Set the database connection parameters to the postgres database. When using a
+separate user, the user must have \fBwrite\fR permissions on the tables \fIactive_checks\fR,
+\fInotifications\fR.
+
+\fBread\fR permissions are required on the tables \fIchecks_notify\fR, \fImapping_level\fR.
+
+Options to use are \fIuser\fR, \fIdbname\fR, \fIhost\fR, \fIport\fR, \fIpassword\fR.
+
+.TP
+.BR log
+The log output per default is going to stderr in a human readable way.
+But it can be adjusted to via \fIoutput\fR to write to a file or one of \fIstdout\fR
+or \fIstderr\fR.
+
+Using \fIlevel\fR with either one of \fIdebug\fR, \fIinfo\fR, \fIwarn\fR, \fIerror\fR
+it is possible to limit the output.
+
+By adjusting the \fIformat\fR the output can be changed from \fItext\fR to \fIjson\fR
+to get machine readable log output.
+
+.BR example
+
+.nf
+.RS
+{
+ "format": "text",
+ "level": "info",
+ "output": "stderr"
+}
+.RE
+.fi
+
+.TP
+.BR path " - " \fRdefault: []
+Set a number of lookup paths that can be used to lookup check commands on the
+filesystem.
+
+.TP
+.BR timeout " - " \fRdefault: 30s
+The timeout decides the maximum time limit a command is allowed to run. When choosing
+longer timeouts be aware that timeouts can lead to more waiting checks.
+
+.TP
+.BR wait " - " \fRdefault: 30s
+The wait duration sets the time to wait between two checks and can be used to
+lower database traffic or used CPU.
+
+.TP
+.BR workers " - " \fRdefault: 25
+Set the number of workers that run check commands on parallel. The more parallel
+workers there are, the higher the lock contention on the database will become,
+but at the same time long running checks will have less of an impact on the
+number of waiting checks.
+
+Tune this value according to your available resources, foremost CPU cores.
+
+.SH CHECK COMMAND
+
+A \fIcheck command\fR has to implement the nagios API of a check command.
+
+1. It must return a message on stdout
+
+2. It must have an exit code to show the severity level
+
+.RS
+0 - check was a success
+
+1 - the check ended in an error
+
+2 - the check ended in a warning
+
+3 - the check is in an unknown state
+.RE
+
+If a check takes longer it can be catched by the timeout. It should be taken care
+though, that checks don't take too much time as the check interval only starts
+after the check ended, which can lead to less checks done in a time period than
+expected.