Skip to content
Christoph Burgmer edited this page Jun 24, 2017 · 12 revisions

hosts.yaml

List of all hosts to monitor.

Required:

  • system, unique name of the system
  • environment, name of environment
  • hostname, host of machine entry, matched against url of entry in status_url.yaml

Example:

- system: MySystem
  environment: DEV
  hostname: 192.168.0.10

status_url.yaml

Schema of JSON pages for all monitored systems.

Required:

  • system, name of the system, matching entry in hosts.yaml
  • url, URL template, with %hostname% being matched against hostname in hosts.yaml

Example:

- system: MySystem
  url: http://%hostname%:80/

Optional

  • color, system color from JSON payload

    • either as string, key for system color value
    • or as set of key value pairs
      • json-path, JSON path query as supported via json-path
      • green-value, value indicating green status (default green)
      • yellow-value, value indicating yellow status (default yellow)

    Examples:

    - ...
      color: status                      # to match {"status": "green"}
    - ...
      color:                             # to match {"statuses": [{"color": "healthy"}]}
        json-path: $.statuses[0].color
        green-value: "healthy"
        yellow-value: "warning"
  • components, component entries from JSON payload

    • either as string, key for components
    • or as set of key value pairs
      • json-path, JSON path query as supported via json-path
      • color, color of component (can be string or key value pair as described above for system color, default color)
      • name, name of component (optional)
      • message, textual description of component/status (optional)

    Examples:

    - ...
      components: subSystems      # to match {"subSystems": {"my sub system": {"color": "green"}}}
    - ...
      components:                 # to match {"subSystems": [{"label": "my sub system", "status": "green", "description": "n/a"}]}
        json-path: $.subSystems
        color: "status"
        name: "label"
        message: "description"
    - ...
      components:                 # to match {"subSystems": [{"label": "my sub system", "status": "warning", "description": "n/a"}]}
        json-path: $.subSystems
        color:
          json-path: $.status
          green-value: "healthy"
          yellow-value: "warning"
        name: "label"
        message: "description"
  • package-version, key for package name/version of system from JSON payload

    Example:

    - ...
      package-version: version    # to match {"version": "my-artifact-1.0.0"}
  • message, key for textual message from JSON payload

    Example:

    - ...
      message: status             # to match {"status": "Up and running"}
  • known-status-codes, list of status codes which might carry a JSON payload (default [200])

    Example:

    - ...
      known-status-codes: [200, 503]
Clone this wiki locally