Contents

What is a container?

A container describes a server, client or software in the OCC. That means if you are a software developer and you want to send monitoring data of your software to the OCC - your software wants to register as a container.

A container can register and execute multiple agents (Working with agents).
A container sends heartbeats (How to send heartbeats), executes agents and sends their results to the OCC (How to send agent status messages).

How to work with containers.

Every valid PUT, POST or GET request in the /container namespace returns a container object.

{
    "action": {
        "type": "CALLBACK",
        "url": "http://remoting.supersoftware.com",
        "buttons": [
            {
                "text": "Do fancy stuff",
                "data": "uknowwhattodo",
                "itemId": "btn-uzgcQE"
            }
        ]
    },
    "system": {
        "ip": null,
        "isServer": false,
        "isVm": false,
        "numberOfProcessors": 0,
        "totalRam": 0,
        "architecture": 0
    },
    "additional": {
        "name": null,
        "version": null,
        "servicepack": null,
        "lastStart": 0
    },
    "id": "7602c7e0-1a26-11e3-aef4-fdaefd669148",
    "name": "Test-Container",
    "type": 4,
    "customerId": "40284a913b99ea4f013cb4dfa203001d",
    "realName": "Super Software 3000",
    "maxHeartbeatTimeout": 20,
    "parentId": null
}
                    

After the POST request the only thing you need to remember is the id of the container. You can use that id later to get the container object again. The OCC stores everything for you.

Befor a PUT request you should GET the container object, manipulate it and send it back to the occ.

Usage of the action setting.

You can provide an action / callback config to allow the OCC users to interact with the container.

The property "type" with value CALLBACK defines, that the container is accessible via a public IP provided by the "url" property. The contante of the "data" property in the "buttons" object is sent to the container with every click the user does.
Another option to use it the type PUSH. The container has to connect to the Server-Eye push service. Every button click is sent to the Server-Eye push service which notifies the container (How to use the push service).