Health monitoring

Each RING node runs a health monitoring script to check various parameters, such as free disk space, external connectivity and DNS resolver status. A report of a node’s health status is available on the following URL:

http://<node_name>.ring.nlnog.net/status.json

The health report has the following format:

{
  "info": {
    "success": true,
    "date": "2019-01-29T20:01:59.528466"
  },
  "health": {
    "mountstatus_root": true,
    "diskspace_root": true,
    "ipv6_addresses": true,
    "ipv6_gateway": true,
    "ipv6_reachability": true,
    "ipv4_addresses": true,
    "ipv4_gateway": true,
    "ipv4_reachability": true,
    "dns_config": true,
    "dns_resolvers": true,
    "https_github": true,
    "http_aptrepo_bit": true,
    "http_aptrepo_ring": true,
    "ansible_cron": true,
    "ansible_run": true,
    "ipv4_ringapi": true,
    "ipv6_ringapi": true
  },
  "descriptions": {
    "mountstatus_root": "The root filesystem is in read/write status",
    "diskspace_root": "The root filesystem has enough free disk space",
    "ipv6_addresses": "The IPv6 address of the node matches the ring database",
    "ipv6_gateway": "The IPv6 gateway is reachable",
    "ipv6_reachability": "There is IPv6 connectivity beyond the gateway",
    "ipv4_addresses": "The IPv4 address of the node matches the ring database",
    "ipv4_gateway": "The IPv4 gateway is reachable",
    "ipv4_reachability": "There is IPv4 connectivity beyond the gateway",
    "dns_config": "The local host is configured as DNS resolver",
    "dns_resolvers": "The configured DNS resolvers are functioning",
    "https_github": "A webrequest for 'https://github.com/' succeeded",
    "http_aptrepo_bit": "A webrequest for 'http://ftp.bit.nl/ubuntu' succeeded",
    "http_aptrepo_ring": "A webrequest for 'http://apt.ring.nlnog.net/deb/dists/ring/Release' succeeded",
    "ansible_cron": "The ansible cron job is correctly configured",
    "ansible_run": "Ansible has recently run",
    "ipv4_ringapi": "Pushing this health report to the IPv4 ring API succeeded",
    "ipv6_ringapi": "Pushing this health report to the IPv6 ring API succeeded"
  }
}

Our administration system currently uses the reports to actively contact owners of RING nodes that have not completed their Ansible runs or for which there is a problem with IPv4 or IPv6 connectivity. We encourage participants to add the above URL to their monitoring systems to actively monitor their own nodes.

 

Comments are closed.