How to Define a Custom Check¶
Check That Application is Alive¶
Bleemeo agent could check that your application is alive. It could use built-in check (HTTP and TCP) or any Nagios check command.
To configure additional check, add the following to your Bleemeo agent
service: - id: myapplication port: 8080 check_type: nagios check_command: command-to-run - id: custom_webserver port: 8181 check_type: http
Reference for Custom Check¶
Custom check are defined under
service in the configuration.
Add to your configuration file (any
*.conf file in
service: # Use "/path/to/bin --with-option" to check the service. Also keep a # TCP connection with 127.0.0.1:8080, if that connection is closed run # a check immediatly instead of waiting 1 minute. - id: service_name port: 8080 address: 127.0.0.1 check_type: nagios check_command: /path/to/bin --with-option # HTTPS check to URL https://127.0.0.1:8443/check/ - id: an_https_server port: 8443 check_type: https http_path: /check/ # TCP check on 127.0.0.1:22 - id: another_service port: 22
Custom checks are run every minutes. If
port is provided, Bleemeo Agent
maintains a TCP connection with this port, and if that connection is closed
the check is run immediately.
id: Name of your service. This name must be unique for one Bleemeo Agent.
port: TCP port number. This field is mandatory if
check_typeis not “nagios”.
address: IP address associated with the TCP port. Default value is “127.0.0.1”.
check_type: Check used for this service. Possible value are:
- “tcp”: The default, it checks that a TCP connection could be opened to given address/port.
- “http”: It checks that an HTTP request on given address/port has a status code 2xx or 3xx.
- “https”: Same as HTTP check, but using HTTPS connection. Certificate are not validated.
- “nagios”: It use
check_commandto test liveliness of service.
http_path: The path of URL checked with HTTP or HTTPS
check_type. Default value is “/”
http_status_code: The expected status code of HTTP response (only valid if
check_typeis HTTP or HTTPS). Default is unset.
When set, the check pass if the response status code is equal to the expected one and critical in other case.
When unset, if response status code is
- strictly less than 400, the check pass
- between 400 and 499 (both included), the check is warning
- greater or equal to 500, the check is critical
check_command: Command used for a Nagios check. This field is mandatory if
The command must conform to Nagios check standard, that is:
- Successful check must exit with a return code of 0
- Warning check must exit with a return code of 1
- Critical check must exit with a return code of 2
In addition, the command may print to stdout a short explanation of its result. For example if a check fail to connect to your service, the check may print: “CRITICAL - connection refused”