Skip to main content

Platform checks NRPE / Nagios

Project description

Platform checks

Introduction

Allow to perform checks on a PaaS.

This is built for the Nasqueron servers infrastructure, and will be useful on modern platform installations like microservices, Docker and proxies/load balancers.

Each check is compatible Nagios / NRPE.

Configuration

Checks can be defined in /etc/monitoring/checks.yml.

The format of this file is:

checks:
  <check_type>:
    <key>: <value>

You can also use /usr/local/etc/monitoring/checks.yml as path, or .checks.yml in the current working directory.

Checks reference

check_http_200

Perform a HTTP request to a specific URL. The check success if HTTP code is 200.

Available check types

  • check_http_200: for sites you test at the back-end level
  • check_http_200_alive: for sites returning "ALIVE" as body content
  • check_http_200_proxy: flag site as verified at proxy level, not directly at the back-end
  • check_http_200_alive_proxy: combine proxy and alive flags

Configuration example

checks:
  check_http_200:
    acme: http://localhost:41080/health
    cachet: http://localhost:39080/api/v1/ping
    
  check_http_200_proxy:
    openfire: https://xmpp.nasqueron.org/login.jsp
    
  check_http_200_alive_proxy:
    phabricator: https://devcentral.nasqueron.org/status

Run the check

From there, you've two ways to run the check:

  • one check for all URLs: call check_http_200 without argument
  • one check, one URL: call check_http_200 <service name>, for example check_http_200 openfire

You can also create a check calling check_http_200 without argument, and it will test every site.

check_container_present

Run the check

With argument, check if the specified Docker container is running: check_container_present foo

Without argument, compare the list of containers present with the expected one.

The configuration is only required if you use it without argument.

Available check types

  • check_docker_containers: a list of expected containers

Configuration example

checks:
  check_docker_containers:
    - foo
    - bar

Requirements

A Docker engine with CLI restructured, ie Docker 1.13+, is needed:

  • To list the containers it uses docker container ls.
  • To get more info on a container down, it uses docker container inspect.

Not features

This check isn't intended to detect containers run with other engines like systemd-nspawn.

check_software_version

Run the check

With argument, check if the specified software is up-to-date.

Without argument, get a list of software from the configuration.

If the software can't be found, an UNKNOWN exit code is returned.

Available check types

  • check_software_version: a list of software to keep up-to-date

Configuration example

checks:
  check_software_version:
    - consul
    - nomad
    - terraform
    - vagrant
    - vault

Supported software

  • HashiCorp CLI products with a "version" subcommand, like Consul, Vault, Vagrant or TerraForm.

Return values of checks

The checks use the standard Nagios/NRPE exit codes:

Exit code Description
0 OK
1 Warning
2 Critical
3 Unknown, for example a check config issue

As such they're compatible with Nagios, Incinga, Sensu, Shinken, etc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

platform_checks-0.2.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

platform_checks-0.2.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file platform_checks-0.2.0.tar.gz.

File metadata

  • Download URL: platform_checks-0.2.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for platform_checks-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9322df78f43786c3c37054f80d889013fdc4d07891f0f0a480ca66407c559453
MD5 89511322a18f089598165738c34d23a3
BLAKE2b-256 9b6c8fa7ce1077651ba2ed2b723dfabb88a456742a5d5bdb0c270f9002e541c4

See more details on using hashes here.

File details

Details for the file platform_checks-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for platform_checks-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8b78423b68f23d1ede45eb05b02f126535f040b92831c163683176467f7a191
MD5 540cd81187ca7e9484d16b2ab90b50a9
BLAKE2b-256 7db7b23ff963121848100c18088561b1ffdf6991a1928dc88229395338bbec60

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page