TRY ME

Try Valo for free

We want to show you something amazing.

We'll send you a link to download a fully functional Valo copy to play with.



Great! Check your email and enjoy Valo



Apologies, we seem to be having a problem processing your input, please try again

Monitoring API

The monitoring API provides insight into the internals of Valo.

Monitoring information is filtered by tenant, and optional service specific parameters. Accessing a monitoring end-point for a specific tenant will only return information relevant to that tenant.

The system tenant gives access to all information in all tenants.

GET http://localhost:8888/monitoring/system/:service HTTP/1.1

Get the services

GET /monitoring/:tenant

Gets the registered services.

Example request:

GET /monitoring/demo HTTP/1.1

Example Response

HTTP/1.1 200 OK
Content-Type: application/json

{
  "instances": [
    "handoff",
    "ssr",
    "audit",
    "streams",
    "akka",
    "tsr",
    "execution",
    "transport",
    "system",
    "cluster"
  ]
}

Get a service

GET /monitoring/:tenant/:service

Returns a document containing information about the service.

The view returned can either be a global view or a local view. A global view takes all cluster nodes into account whilst a local view only provides information for a specific cluster node. The default behaviour is defined by the service but in general the default behaviour is a global view.

A monitoring service might take parameters to filter the data, or provide additional information. All services supports the node parameter which specifies which physical cluster node to target. If the node parameter is specified a local cluster node view is returned for the specified node.

local returns the information for the node the request is issued against.

GET /monitoring/demo/transport?node=local HTTP/1.1

Specifying a node name returns information about a specific cluster node.

GET /monitoring/demo/transport?node=valo0 HTTP/1.1

Services might define additional parameters to further filter the returned data. For example, the execution service specifies a uri parameter for only returning information about the specified execution session uri.

GET /monitoring/demo/transport?uri=/execution/demo/sessions/f6e8ff48-ce0f-4858-b71f-9f4fd395b9b6 HTTP/1.1

Example request:

GET /monitoring/demo/system HTTP/1.1

Example Response

HTTP/1.1 200 OK
Content-Type: application/json

{
    "nodes": [
        {
            "node": "valo0",
            "details": {
                "buildInfo": {
                    "version": "Unknown",
                    "revision": "Unknown",
                    "buildDate": "Unknown"
                },
                "javaInfo": {
                    "vendor": "Oracle Corporation",
                    "version": "1.8.0.51",
                    "arch": "x64",
                    "vm": "Java HotSpot(TM) 64-Bit Server VM"
                },
                "metrics": { }
            }
        }
    ]
}

The following services are available

service information
akka

Information about the akka actor system.

Akka monitoring is dissabled by default. You need to do the following to enable it;
  • Add the following Java VM option: -javaagent:path/aspectjweaver.jar
  • Set the following in your application.conf file valo.monitoring.enable-kamon = true
audit General audit information.
cluster General cluster information.
execution

Information about the running execution sessions.

Paramaters;

uri - filters on a specific execution session uri

GET http://localhost:8888/monitoring/execution?uri=/execution/demo/sessions/4dc03528-59c8-4cb4-8618-71c26681484e HTTP/1.1
handoff Details about the hand-off buffers for the local node.
ssr Details about the ssr repository.
streams

Gets information about a stream.

Paramaters;

uri - filers on a specific stream uri

GET http://localhost:8888/monitoring/streams?uri=/streams/demo/infrastructure/cpu HTTP/1.1
system

General system information.

The system service provides additional metrics if the Kamon sigar integration is enabled in the Valo config.

{
  "kamon": {
    "system-metrics": {
      "sigar-enabled": true
      "jmx-enabled": true
    }
  }
}
transport Details about the transport.
tsr Details about the tsr repository.