check_tcp

Runs check_tcp to perform TCP connection checks. It basically wraps the plugin from https://github.com/taku-k/go-check-plugins/tree/master/check-tcp

Implementation

WindowsLinuxFreeBSDMacOSX
✅✅✅✅

Usage

  check_tcp [OPTIONS]

Application Options:
      --service=              Service name. e.g. ftp, smtp, pop, imap and so on
  -H, --hostname=             Host name or IP address
  -4, --ipv4                  Resolve and connect using IPv4 only
  -6, --ipv6                  Resolve and connect using IPv6 only
  -p, --port=                 Port number
  -s, --send=                 String to send to the server
  -e, --expect-pattern=       Regexp pattern to expect in server response
  -q, --quit=                 String to send server to initiate a clean close of the connection
  -S, --ssl                   Use SSL for the connection.
  -U, --unix-sock=            Unix Domain Socket
      --no-check-certificate  Do not check certificate
  -t, --timeout=              Seconds before connection times out (default: 10)
  -m, --maxbytes=             Close connection once more than this number of bytes are received
  -d, --delay=                Seconds to wait between sending string and polling for response
  -w, --warning=              Response time to result in warning status (seconds)
  -c, --critical=             Response time to result in critical status (seconds) (default: 10)
  -E, --escape                Can use \n, \r, \t or \ in send or quit string. Must come before send or quit option. By
                              default, nothing added to send, \r\n added to end of quit
  -W, --error-warning         Set the error level to warning when exiting with unexpected error (default: critical). If
                              the request succeeds, evaluation of the -c option takes priority.
  -C, --expect-closed         Verify that the port/unixsock is closed. If the port/unixsock is closed, OK; if open,
                              follow the ErrWarning flag. This option only verifies the connection.
  -v, --verbose               Enables verbose logging of the actions taken.

Help Options:
  -h, --help                  Show this help message

Examples

Default Check

Alert if TCP connection fails:

check_tcp -H omd.consol.de -p 80
TCP OK - 0.003 seconds response time on omd.consol.de port 80

Send something and expect specific string:

check_tcp -H outlook.com -p 25 -s "HELO" -e "Microsoft ESMTP MAIL Service ready" -q "QUIT"
TCP OK - 0.197 seconds response time on outlook.com port 25

Example using check_snclient and Naemon

Naemon Config

define command{
    command_name         check_snclient
    command_line         $USER1$/check_snclient -k -p 'your-password' -u 'https://$HOSTADDRESS$:8443' $ARG1$ $ARG2$
}

define service {
    host_name            testhost
    service_description  check_tcp
    use                  generic-service
    check_command        check_snclient!check_tcp!'-H' 'omd.consol.de' '-p' '80'
}