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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.