gomonop/README.md

64 lines
2.7 KiB
Markdown
Raw Normal View History

2024-07-19 14:55:23 +02:00
gomonop - Various monitoring plugins in golang
==============================================
2021-02-19 19:28:25 +01:00
2024-07-19 14:55:23 +02:00
This project is a collection of various monitoring plugins (such as Nagios,
Centreon, or Icinga) written in golang. All plugins are available through a
single executable, `gomonop`. The actual plugin can be selected either
by creating a symlink to the main executable with the appropriate name or by
calling the executable directly with the first argument being the name of the
plugin.
2021-02-19 19:28:25 +01:00
2024-07-19 15:20:14 +02:00
This project is distributed under the terms of the [GPLv3 license](LICENSE).
Its source code is available on the [Nocternity forge](https://git.nocternity.net/projects/gomonop).
2021-02-19 19:28:25 +01:00
Plugins
--------
### SSL certificate expiry
The `check_ssl_certificate` plugin can be used to check that the certificate
from a TLS service has not expired and is not going to expire shortly. It
supports the following command-line flags:
* `-H name`/`--hostname name`: the host name to connect to.
* `-P port`/`--port port`: the TCP port to connect to.
* `-W days`/`--warning days`: a threshold, in days, below which a warning will
be emitted for this service.
* `-C days`/`--critical days`: a threshold, in days, below which the plugin will
indicate that the service is in a critical state.
* `--ignore-cn-only`: do not cause errors if a certificate does not have SANs
and relies on the CN field.
* `-a names`/`--additional-names names`: a comma-separated list of DNS names
that the certificate should also have.
* `-s protocol`/`--start-tls protocol`: protocol to use before requesting a
switch to TLS. Supported protocols: `smtp`, `sieve`.
2023-11-02 10:24:00 +01:00
### DNS zone serials
The `check_zone_serial` plugin can be used to check that the version of a
zone served by a DNS is up-to-date compared to the same zone served by
another, "reference" DNS. It supports the following command-line flags:
* `-H name`/`--hostname name`: the host name or address of the server to
check.
* `-P port`/`--port port`: the port to use on the server to check (defaults
to 53).
* `-z zone`: the zone to check.
* `-r name`/`--rs-hostname name`: the host name or address of the reference
server.
* `-p port`/`--rs-port port`: the port to use on the reference server
2024-07-19 14:55:23 +02:00
(defaults to 53).
Building from source
--------------------
The plugin can be built for the current host OS and architecture using
`make build`. The actual executable will be created under the `bin` directory,
in a subdirectory named after the host OS and architecture (e.g.
`bin/linux-amd64`). The executable will be named `gomonop`, and a
symlink to the executable for the host OS and architecture will be created
under the `bin` directory.
It is possible to build for other architectures using `make build-cross`.